荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjk (frozen), 信区: InstallBBS
标  题: reiserfs的问题(zz)
发信站: 荔园晨风BBS站 (Mon Dec 31 11:48:50 2001), 转信

【 以下文字转载自 jjk 的信箱 】
【 原文由 jjk.bbs@bbs.nju.edu.cn 所发表 】
发信人: zhch (zhch), 信区: BBSDev
标  题: reiserfs的问题(zz)
发信站: 南京大学小百合站 (Thu Dec 27 09:45:22 2001), 站内信件

reiserfs的问题

reiserfs是近来比较热门的一种文件系统,利用先进的算法,特别对小文
件和大目录有很好的性能,被认为是新一代的文件系统而获得了很高评价。

在一些性能评测报告中,reiserfs通常会获得很高的benchmark. 一些文章
会捎带提到reiserfs有"读饥渴"问题,但经过测试,我们发现这个问题非
常严重。在负荷很低,文件内容完全被cache的情况下,在reiserfs系统下
进行fread()仍有可能产生长时间的停顿。以下这个小程序可以测试出这个
问题:

#include "stdio.h"

int main(int n, char *cmd[]) {
        int i, j, t, dt, num=0;
        char buf[256], x[256];
        FILE *fp;
        srand(times(0));
        for(i=0; i<10000; i++) {
                t=times(0);
                for(j=0; j<10; j++) {
                        sprintf(buf, "%s/.DIR", cmd[rand()%n+1]);
                        fp=fopen(buf, "r");
                        if(fp==0) continue;
                        fread(x, 256, 1, fp);
                        fclose(fp);
                }
                dt=times(0)-t;
                if(dt>20) printf("%s %d %d %d\n", buf, dt, i, num++);
                usleep(30000);
        }
}

用法:
cc a.c -o a.out
a.out /home/bbs/boards/*
(一开始.DIR内容未被cache, 可以多运行几次)

这个程序随机从10个版面的.DIR的各读取256个字节, 然后sleep 30毫秒, 再重复.
如果读操作用时超过了20毫秒, 则认为产生了1次用户可感觉到的停顿.

在我们的测试中(load<1),如果/home/bbs/boards是ext2文件系统,这个程序出现停顿
(printf)的几率大约是1/1000. 而对于reiserfs, 同样load下, 出现停顿的几率大约是
1/80, 两者相差10余倍.

结论是reiserfs不大适合做bbs的fs, 欢迎大家发表不同的看法.

--

zhch.bbs@bbs.nju.edu.cn

※ 来源:.南京大学小百合站 bbs.nju.edu.cn.[FROM: localhost.nju.edu.cn]
--
※ 转寄:.南京大学小百合站 bbs.nju.edu.cn.[FROM: 202.96.144.222]

--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店