大天使之剑
作者大天使之剑·2019-06-04 10:49
售前技术支持·杭州才云科技

linux系列之常用工具:iozone测试磁盘性能

字数 2008阅读 4514评论 1赞 2

使用iozone测试磁盘性能

最简单开始使用iozone方法是自动模式。

/opt/iozone/bin/iozone -a

iozone将在所有模式下进行测试,使用记录块从4k到16M,测试文件大小从64k到512M

以图表形式显示测试结果。

/opt/iozone/bin/iozone -Ra 或 /opt/iozone/bin/iozone -Rab output.xls

如果内存大于512MB,则测试文件需要更大;最好测试文件是内存的两倍。

内存为1G,将测试文件设置最大为2G
/opt/iozone/bin/iozone -Ra -g 2g

如果我们只关心文件磁盘的read/write性能,而不必花费时间在其他模式上测试,则我们需要指定测试模式。

/opt/iozone/bin/iozone -Ra -g 2g -i 0 -i 1

参数介绍

-a 全自动模式测试。测试记录块大小从4k到16M,测试文件从64k到512M。

-A 使用自动模式虽然测试比较全面,但是比较花时间。-a选项将在文件大于32MB时停止使用低于64k一下记录块,来节省时间。-A通知iozone不要节省时间,进行所有测试。注:在3.61版本以后不建议使用,用-az代替-aA。

-B 使用mmap()。这将使用mmap()接口来创建并访问所有测试用的临时文件。一些应用程序倾向于将文件当作内存的一块来看待。这些应用程序对文件执行mmap()调用,然后就可以以读写内存的方式访问那个块来完成文件I/O。

-c 计算时间将close()包括进来

-C 显示吞吐量测试中每个客户端的字节数。

-D 对mmap文件使用MSYNC(MS_ASYNC)。告诉操作系统在mmap空间的所有数据需要被异步的写到磁盘上。

-e 测试时间是包含flush(fsync, fflush)

-f filename 指定用来测试临时文件,在测试完成后将被自动删除。

-F filename filename … 指定测试中每个临时文件名,文件名的数量应该和指定的进程或线程数相同。

-g # 在自动模式下设置文件最大值,可以使用#k #m #g分别表示kb,mb,gb。

-G 对mmap文件使用msync(MS_SYNC)。告诉操作系统在mmap空间的所有数据需要被同步的写到磁盘上。

-h 显示帮助

-i # 指定运行于哪种模式测试。可以使用-i # -i # -i #进行多个测试 0=write/rewrite 1=read/re-read 2=random read/random write 3=backwards read 4=re-write-record 5=stride-read 6=fwirte/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

-I 对所有文件操作使用DIRECT I/O。通知文件系统所有操作跳过缓存直接在磁盘上操作。

-j # 设置访问文件的跨度为(# * 块)。stride read测试将使用这个跨度来读块。

-J #(毫秒) 在每个I/O操作之前产生指定毫秒的计算延迟。看-X和-Y获取控制计算延迟的其他参数

-l # 设置程序最小进程数。在测试过程允许用户设置的最小进程或线程数。需要配合-u选项使用。

-L # 设置处理器交换信息的单位量为#(bytes)。可以加速测试。

-m iozone将在内部使用多个缓存。一些程序反复复写一块缓存,还有就是设置多个缓存块。此参数将允许使用这两种模式。iozone默认行为是重复使用内部一个缓存。此选项将允许在内部使用多个缓存块。

-M 调用uname(),将返回字符串放在输出文件中

-n # 设置自动模式下测试文件的最小值

-N 报告结果以毫秒每操作的方式显示

-o 写方式是同步写到磁盘上

-O 报告结果以操作每秒方式显示

-q # 在自动模式下设置记录块的最大值,可以使用#k(kb),#m(mb),#g(gb)。使用-y可以设置最小值

-r # 设置记录块大小为#

-R 使用Excel显示结果

-s # 设置测试文件大小

-S # 设置处理器的缓存大小

-t # 设置测试程序的线程或进程数

-T 使用POSIX的pthreads进行测试

-u # 设置最大进程或线程数,需要配合-l参数使用

-U mountpoint 在测试开始之前,iozone将unmount和remount挂载点。这将保证测试中缓存不包含任何文件

-w 在测试结束后不要删除临时文件。临时文件将在测试过后保存下来

-W 在测试过程中,当读或写文件时锁住文件

-y # 设置记录块最小值

-z 同-a一起使用,进行全部测试

-Z 允许mmap I/O和file I/O混合使用

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论1 条评论

michael1983michael1983联盟成员技术总监某证券
2019-06-04 11:39
iometer用起来也不错
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广