简介
iozone是一个文件系统的benchmark(基准)工具,可以测试不同的操作系统中文件系统的读写性能。在测试文件的读写性能方面,测试范围广,指标精确。
设置的测试文件的大小一定要大过你的内存(最佳为内存的两倍大小),不然linux会给你的读写的内容进行缓存。会使数值非常不真实。
本文以银河麒麟系统为例。
iozone3.43百度网盘下载地址(赠送简易脚本,可自行改编)
链接:https://pan.baidu.com/s/1hIDIcatGRkOMYbydQ3k62g?pwd=pzmf
提取码:pzmf
测试方法
1.登录系统,拷贝iozone测试工具包至系统
2.解压到/home目录
tar xvf iozone3_430 -C /home
进入current目录:
cd /home/iozone3_430/src/current
3.编译
飞腾(aarch64)平台执行该步骤执行如下命令:make linux-arm
x86平台执行该步骤执行如下命令:make linux-AMD64
其他平台执行该步骤使用如下命令:make linux-ia64
4.执行测试命令:
sudo ./iozone -s *g -r 16M -i 0 -i 1 -i 2 -f /data/iozone -Rb **.xls
该命令参数解析:
xx.xls为测试结果文件,可自己定义成自己理解的文件名,但是后缀一定是xls;
-a 全面测试,块大小(4k到16M)跟测试文件(64k到512M)大小会自动加;
-s 制定测试文件的大小;
测试的时候请注意,设置的测试文件的大小一定要大过你的内存(最佳为内存的两倍大小),不然linux会给你的读写的内容进行缓存,会使数值非常不真实。
不过-s后的测试文件大小我们一般需要分别设置为物理内存的2倍、1倍、1/2倍测试,2倍内存大小测出的结果是我们需要的数据,1倍跟1/2倍内存大小的测试数据用来作对比;
-i 用来选择测试项(例如-i 0 –i 1 –i 2);
-r 制定一次写入/读出的块大小;
-f 制定测试文件的名字,测试完成后会自动删除;(这个文件必须指定你要测试的那个硬盘中)
-R 产生excel到标准输出;
-b 制定将结果输出到制定文件上,比如:-Rb test.xls;
-y –q 指定测试块的大小范围(-y小 -q大),与-a连用;
-n –g 指定测试文件大小范围,与-a连用。-n 后接最小值,-g 后接最大值,如测试512m到4G:-n 512m -g 4G;
测试结果
示例①
全面测试
./iozone -s 16g -i 0 -i 1 -i 2 -a -y 4k -q 16384k -f /data/iozonefile -Rb /home/iozonefile_FT.xls
结果分析:
比如529586:
表示测试文件大小为16G,以记录块大小16M来进行传输,他的传输速度为529586(Kb/s)。
示例②
如没特殊要求,则测试文件大小设置为内存的0.5倍/1倍/2倍(对比测试,经过缓存),块大小设置16M分别测试即可。
0.5倍内存
1倍内存
2倍内存