分类: LINUX
2011-01-24 11:26:41
IOzone是一个文件系统的基准程序,可以用来模拟多种不同的硬盘访问模式。IOzone的配置非常丰富,所以可以比较准确的模拟特定负载。通过使用不同的块大小,IOzone可以写一个或多个不同大小的文件。
IOzone提供一个功能非常强大且自动化的基准测试模式,可以高效地定义负载属性如文件大小、I/O大小和访问模式。如果要评估满足数据库负载的文件系统,需要在IOzone创建一个随机访问模式大块的大文件代替顺序访问小块的大文件。IOzone的重要选项有:
测试参数: -i # 用来指定测试内容.
测试格式为-i #,比如测试写:-i 0,测试读和写:-i 0 -i 1。
-b
告诉IOzone将结果存储为微软Excel兼容的格式。
-C
显示每个子进程输出内容(可以用来检查所有子进程是否真正同时运行)
-f
用来告诉IOzone数据存储的位置。
-i
这个选项用来定义运行哪些测试。首次运行你不得不定义-i 0来生成测试文件。常用的测试有-i 1用于顺序读取、-i 2用于随机读写访问和-i 8用于混合随机访问。
-h
显示帮助
-r
告诉IOzone测试的记录I/O大小。记录大小要尽可能的接近目标负载。
-k
使用2.6内核的异步I/O属性,这个经常用在数据库中,如IBM DB2。
-m
如果目标应用程序使用多个内部buffer,可以使用-m来模拟这种行为。
-s
指定基准测试的文件大小。对于异步文件系统(大多数文件系统的默认挂载选项)IOzone应使用至少两倍于系统内存的文件大小,以便能真实的度量硬盘的性能。也可以使用MB或GB指定大小,只要直接在文件大小后使用m或g即可。
-+u
在测试过程中,用于度量处理器使用情况的开关。
-R 产生execl格式的输出日志。
-b 将产生二进制的execl的日志文件名。
-s 测试的文件大小。
-r 文件块大小。
-a 在希望的文件系统上测试,不过只有-a的话会进行全面测试,要花费很长时间,最好用-i指定测试范围。
-g 指定最大测试文件大小。
-n 指定最小测试文件大小。
-f 指定测试文件。
-C 显示每个节点的吞吐量。
-c 测试包括文件的关闭时间
用tee命令生成log信息。
./iozone -g 2G -n 512M -i 0 -i 1 -f /mnt/test -Rab /home/iozone.xls -C | tee /home/iozone.log
iozone的日志文件写入到了iozone.log内。
注释:任何基准使用的文件如果合适系统的内存并存储在异步的文件系统中,所测量的将是内存吞度量而不是硬盘子系统的性能。所以你应该使用sync选项挂载文件系统或使用大小为系统内存两倍的文件。
使用IOzone测量特定硬盘子系统随机读取的性能,测试文件存储在/perf,文件大小为10GB,I/O大小为32KB(这些特性模仿一个简单的数据库)。如下:
IOzone命令示例
---------------------------------------------------------------------------
./iozone -b results.xls -R -i 0 -i 2 -f /perf/iozone.file -r 32 -s 10g
测试实例
用法:
在希望进行测试的文件系统上运行:
/opt/iozone/bin/iozone -a
即可进行全面的自动测试,不过通常需要很长的时间,要耐心等待。
/opt/iozone/bin/iozone -a -i 1
只对write, rewrite进行性能测试
/opt/iozone/bin/iozone -a -i 1 -i 0
对读写进行性能测试
/opt/iozone/bin/iozone -a -g 1G -i 0 -i 1
对读写进行性能测试,并且最大测试文件为1G
/opt/iozone/bin/iozone -Ra
测试所有方面,并且生成excel文件
上面的命令在执行时,最好通过重定向保存到另外一个文件中.
/opt/iozone/bin/iozone –Rab output.wks
测试小文件
/opt/iozone/bin/iozone -a -s 512m -y 1k -q 8k -b minfile_result.xls
测试普通文件
如果2G内存测试,时间太长,先在grub.conf里把内存变成256m,这时使用512m的文件测试,就不会使用缓存了。
可以保证测试的准确性
/opt/iozone/bin/iozone -a -s 512m -y 8k -q 512k -b comfile_result.xls
测试大文件
/opt/iozone/bin/iozone -a -s 512m -y 1024k -q 10240k -i 0 -i 1 -i 2 -b largefile_result.xls
测试-i命令的使用
/opt/iozone/bin/iozone -Rab output.wks -g 1G -i 0 -i 1 -i 2 -i 8
-R 创建 Excel 报告
-g 设置自动模式下最大文件大小
Set maximum file size (in Kbytes) for auto mode.
-s 指定文件大小
-s 512k or -s 512M or -s 1G
-f filename
指定临时文件
-F filename filename filename
指定临时文件组
-t #
线程数
-q 指定最大记录大小
-q 512K or -q 512M or -q 1g
-y 指定最小记录大小
-y 512K or -q 512M or -q 1g
-U mountpoint
Mount point to unmount and remount between tests. Iozone will unmount and remount
this mount point before beginning each test. This guarantees that the buffer cache does not
contain any of the file under test.
通常情况下,测试的文件大小要求至少是系统cache的两倍以上,这样,测试的结果才是真是可信的。如果小于cache的两倍,文件的读写测试读写的将是cache的速度,测试的结果大打折扣。