nas存储性能测试报告
1 目的
用于测试4个服务器并发工作是nas带宽是否满足性能要求
2 环境说明
测试工具:iozone
测试客户端配置:虚拟机vcpu:4核(2.5Ghz)内存:4G虚拟网卡:1000M
Nas存储与测试客户端(4个转码服务器)中间的交换机带宽是1G。
所以被测试nas存储设备理想带宽值:125MB/s。
测试工具参数说明:
-a Auto mode
-b Filename Create Excel worksheet file
-c Include close in the timing calculations
-F filenames for each process/thread in throughput test
-g # Set maximum file size (in Kbytes) for auto mode (or #m or #g)
-h help
-i # Test to run (0=write/rewrite, 1=read/re-read, 2=random-read/write
3=Read-backwards, 4=Re-write-record, 5=stride-read, 6=fwrite/re-fwrite
7=fread/Re-fread, 8=random_mix, 9=pwrite/Re-pwrite, 10=pread/Re-pread
11=pwritev/Re-pwritev, 12=preadv/Re-preadv)
-n # Set minimum file size (in Kbytes) for auto mode (or #m or #g)
-r # record size in Kb
or -r #k .. size in Kb
or -r #m .. size in Mb
or -r #g .. size in Gb
-R Generate Excel report
-s # file size in Kb
or -s #k .. size in Kb
or -s #m .. size in Mb
or -s #g .. size in Gb
-t # Number of threads or processes to use in throughput test
-w Do not unlink temporary file
-z Used in conjunction with -a to test all possible record
3 测试用例说明
测试共分两部分
3.1第一部分:单机全局测试
通过该测试结果,获取并发测试参数。
测试命令:
./iozone -Razc -b z1.xls -q 1m -n 1m -g 8g -i 0 -i 1
命令说明:在所挂载nas存储目录执行上述命令,表示用iozone自动执行,测试文件大小从1m到8g,record size从4k到1m 执行读写。执行读写、重读重写测试。并将结果保存到z1.xls里面
3.2第二部分:4台客户端对本地nas存储进行并发测试。
3.2.1并发写:
通过securecrt录制脚本,同时登录4节点,执行登录脚本。
测试命令:
iozone -Rc -b /tmp/zresult`date +%N`.xls -t 1 -F /cmsSourceRepo/sgVideo/file`date +%N` -r 8k -s 8g -i0 -w
命令表示:对nas存储进行写和重写测试,并固定record size为8k,文件大小为8g 将结果保存到zresult`date +%N`.xls。测试文件/cmsSourceRepo/sgVideo/file`date +%N`测试完成后不删除
3.2.2并发读:
通过securecrt登录功能的ssh远程命令同时执行
测试命令:
iozone -Rc -b /tmp/read1.xls -t 1 -F /cmsSourceRepo/sgVideo/file6 -r 8k -s 8g -i1 -w
上述为节点1的测试命令,其余节点类似具体参数,请见附件
命令表示:对nas存储进行读和重读吞吐率测试,并固定record size为8k,文件大小8g,每台服务器线程数为1,测试文件路径/cmsSourceRepo/sgVideo/file6。并将结果保存到/tmp/read1.xls。测试完成后保留测试文件。
4 测试结果
4.1第一部分
4.1.1测试结果图如下:
4.1.2 结果分析
根据测试结果
写和重写测试io带宽在80-90MB/s之间
读和重读因为受到cpu缓存和内存缓存的影响,到测试文件大小大于4G后才是磁盘真正的性能。见测试结果图read report 和re-read report
所以磁盘的读和重读性能应该在114MB/s左右
备注:曲面图对应的详细参数值见附件z1.xls 总表
4.2 第二部分
根据第一部分的测试结果,得到测试文件8g左右比较合理因为此时读和重读测试不受cpu和内存的缓存影响,最接近真实值。
Record size的大小对测试结果影响较小,这里第二部分record size读写并发测试都取8k。
4.2.1 并发写
测试结果
测试项 |
节点1 |
节点2 |
节点3 |
节点4 |
Initial write |
7929.07 |
7760.102 |
8489.572 |
8020.732 |
Rewrite |
8161.139 |
8331.887 |
8279.222 |
8634.379 |
Output is in Kbytes/sec |
结果分析:
每个节点写测试大概在8MB/s的io带宽,一共32MB/s,
备注:单机全局写测试大于80MB/s,理想并发读测试单节点应该在大于20MB/s,这里相差比较大。另外考虑到其他因素影响。用iozone多次测试,并发写测试都保持在单节点8MB左右。
4.2.2 并发读
测试结果
测试项 |
节点1 |
节点2 |
节点3 |
节点4 |
Read |
31532.78 |
28762.88 |
28985.64 |
26236.4 |
Re-read |
32634.79 |
36227.2 |
36123.18 |
39960.72 |
Output is in Kbytes/sec |
结果分析:
每个节点读测试大概28.85MB/s 一共115MB/s
备注:单机全局读测试大概在114MB/s 。并发读测试总共带宽与单机全局测试结果比较吻合。