1.Iozone
iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。
可以测试 Read, write, re-read, re-write, readbackwards, read strided, fread, fwrite, random read, pread, mmap, aio_read,aio_write 等等不同的模式下的硬盘的性能。
测试参数: -i # 用来指定测试内容,我主要用到以下两种:
0=write/rewrite
1=read/re-read
例如测试写:-i 0,测试读和写:-i 0 -i 1。
-R 产生execl格式的输出日志
-b 将产生二进制的execl的日志文件名
-s 测试的文件大小
-r 文件块大小
-a 在希望的文件系统上测试,不过只有-a的话会进行全面测试,要花费很长时间,最好用-i指定测试范围。
上图显示了一个iozone的测试ext3本地文件系统结果的一部分,测试文件块的大小为1m,测试文件的大小4G,测试包括文件的关闭时间和flush时间,测试内容包含写/重写、读/重读,测试时产生的二进制日志会保存在/home目录下的test.xls中。
通常情况下,测试的文件大小要求至少是系统cache的两倍以上,这样,测试的结果才是真是可信的。如果小于cache的两倍,文件的读写测试读写的将是cache的速度,测试的结果大打折扣。
2.Mdtest
Mdtest是一个测试文件系统元数据性能的工具。
我们经常用到的一些参数的含义:
-d 测试运行的目录
-i 测试循环的次数
-n 每个进程将要创建/统计/删除的目录和文件数目
-w 文件创建以后写入多少bytes
-p 循环前的时间延迟
-D 只针对目录进行测试
-F 只针对文件进行测试
上图是一个mdtest的测试结果,测试参数为:测试运行的目录为/mnt/aaa,创建/统计/删除的目录和文件数为30000,反复执行3次。
从上图可看到目录创建每秒能够完成的操作数最大为7016.495次,每秒能够完成的操作数平均为6691.628次;文件创建每秒能够完成的操作数最大为63521.371次,每秒能够完成的操作数平均为62325.578次。(因测试为本地文件系统,故数值比较大