首页 > 代码库 > 针对文件系统和网络性能的测试

针对文件系统和网络性能的测试

由于工作需要,需要对文件系统和网络性能等进行测试:

一、文件系统测试

fio: 直接读取盘符下的data目录,测试结果和自己写程序,open(,DIRECT_IO)的结果几乎相近,很有说服力。

iozone:能测多种读写方式,还能自动生成测试报告,可惜,即使指定屏蔽缓存,测试结果也不如fio真实。

dd:这是最简单的测试工具了

测试读:dd if=filepath of=/dev/null bs=2M count=512

测试写:dd if=/dev/zero of=filepath bs=2M count=512

经过测试基本可以得到如下结论:

1. iozone指定-I选项后(屏蔽系统缓存),读的效率是原来的1/10,写的性能比原来略高;

2. fread和fwrite有自己的缓冲区大小,在指定的缓冲区逐渐变大的过程中,fread的效率呈现为锯齿波状;

3. dd在测试的时候,最好选择比内存大的文件来进行测试;而且以第一次的为准。(猜测应该是读文件的时候,系统把磁盘中的内容通过换页缓存到了内存中,如果文件可以是内存的两倍,那么可以很好地把内存清洗一遍,测试结果也就会更真实;当然写的时候也会在不断刷新内存的时候强制把数据刷到磁盘中,文件越大,测试结果也就越真实)

4. 测试结果:

SAS的读250MB/s左右,

SSD的读870MB/s左右;

RAID之后的SAS,RAID几就是几倍,当然会有损耗,10个的读1.6GB/s;

MFS不管chunkserver在SAS或SSD上,同一台服务器,读都约为100MB/s;

二、网络带宽测试

1、iperf:通过调整窗口来测试带宽的,测试的结果应该接近真实,但是相对于实际应用偏高;

2、ethtool -eth0:可以直观的看见指定网卡的带宽;

3、wget、curl等:在服务端部署文件和nginx服务器,客户服务器下载把目标文件指向/dev/null,测试结果肯定比前两个的低。

4、测试结果:(实际上网卡是肯定跑不满的)

千兆网卡,最大带宽:117MB/s 

百兆网卡,最大带宽:12MB/s

 

针对文件系统和网络性能的测试