splice & mfs benchmark 2

最近一周 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即可~

 

结论:


 

  1. 对于 ext3 write ,  1g 地方出现下降,说明 write buffer  1g

  2. 对于 ext3 read , 1m 1g 的地方都出现下降,如何解释呢???? TODO

  3. ext  在读的时候有 3000MB/s ,这是如何产生的???

  4. 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发送数据。

 

 

 

测试代码如附件~

 

 

 

    使用r/w和splice进行文件拷贝 - 1




    使用r/w和splice进行文件拷贝 - 2
    使用r/w和splice进行socket文件传送 - 1



结论:

  • 使用splice后,性能确实比r/w要高,但是高的比例较小,约5%-15%
  • 对于socket发送,无论splice还是r/w,使用较大的record size性能会比较好
  • splice在读写时,有些波动。

你可能感兴趣的:(linux,socket,cache,软件测试,ext)