最近一周 benchmark工作: -Lin Yang 4/16/10 4:35 PM
机器配置:
8 核 8g 内存
硬件环境:
$ cat /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E5420 @ 2.50GHz
cpu MHz : 2499.845
cache size : 6144 KB
软件环境:
$ uname -a
Linux head 2.6.30 #2 SMP Tue Aug 11 04:49:44 CST 2009 x86_64 x86_64 x86_64 GNU/Linux
网络环境:
千兆网
其中 mfs配置了一个 master,一个 metalogger,两个 chunkserver (其中一个和 master重叠 ), mfs master在编译时加了 gprof的支持,可能会有一定的性能影响。
ext3 vs mooseFS
对 exe3和 mooseFs使用 iozone进行测试
使用如下命令:
iozone -i 0 -i 1 -g 12G -Rab out.wks
下图为 write 性能比较:
下图为 read 性能比较:
对压缩包中的数据,直接使用 gnuplot gnuplot.dem即可~
结论:
-
对于 ext3的 write , 在 1g 地方出现下降,说明 write buffer 为 1g
-
对于 ext3 的 read , 在 1m 和 1g 的地方都出现下降,如何解释呢???? TODO
-
ext 在读的时候有 3000MB/s ,这是如何产生的???
-
mfs 和 ext3 对比,因为我们使用的时候通常都是 filesize<=1G ,考虑缓存因素, mfs 的性能大约是 ext3 的 1/5
filesize<=1G filesize>=2G
ext3 w 630 70
mfs w 150 60
ext3 r 3061 68
mfs r 69 40
对元数据测试:
fileop -f 10 -bw -s100K
将产生 10^3 个文件,每个文件 100K
结果:
ext3
mkdir rmdir create read write
31439 40682 30015 4353 2938
mfs
mkdir rmdir create open read write
6414 5068 840 4578 655 2869
结论
mfs - 小了一个数量级
对使用 splice进行文件读写, socket读写的性能测试:
测试环境同上,
分别
使用splice和read/write进行文件拷贝
使用splice和read/write进行socket发送数据。
测试代码如附件~
结论:
- 使用splice后,性能确实比r/w要高,但是高的比例较小,约5%-15%
- 对于socket发送,无论splice还是r/w,使用较大的record size性能会比较好
- splice在读写时,有些波动。