使用iozone和blogbench测试硬盘的读写性能,附带详细条目说明、图解测试报告和说明

本文介绍了如何在FreeBSD系统上使用iozone和blogbench测试硬盘读写性能。详细解析了iozone的各项测试指标,如write、rewrite、read等,并展示了测试结果及分析,揭示了CPU缓存、文件大小和记录大小对性能的影响。此外,还对比了RAID0和RAID1阵列的性能差异,强调了优化服务器I/O性能的重要性。
摘要由CSDN通过智能技术生成

   今天架了个raid0,结果就想测试一下io性能了,因为系统是freebsd,所以考虑使用的io测试工具就是iozone和blogbench。

 

先看iozone:

命令:

其他详细的说明到处都是,这里我翻译一些测试内容的解释,从官方文档那里弄出来的:

  • write:指测试创建并写入一个新文件,因为创建一个新文件不仅包括文件的数据,还要包括在文件系统上追踪到文件所在的额外开销信息,这类信息被成为metadata,通常包括目录信息,空间分配,以及其他的一些内容,因此这一项的性能会比rewrite的性能弱
  • rewrite:测试写入一个已存在的文件的性能,由于不需要动那个metadata,所以,这项的性能比write会高
  • read:测试读取一个已存在文件的速度
  • reread:测试读取一个最近读取过的文件,由于操作系统会缓存,所以数值会比read高
  • Random read:测试随机从一个文件中的不同位置的访问的性能,这项会被系统的catch,磁盘数量,访问延迟等因素影响
  • Random write:同上,读换成写而已
  • Random Mix:测试随机的从一个文件的不同位置进行读写操作,影响因素同上,这个测试只能在throughput模式下跑。每个线程/进程只会进行读取或者写入,而非同时读写。读写分布于进程间的轮转调度之中,所以这个操作需要多个线程/进程
  • Backwards Read:测试逆序读取文件,这种方式常被程序使用,MSC Nastran是一个这种方式的范例,通常它的文件也是gb和tb级别的,虽然很多现有的操作系统优化了顺序读取文件的性能,但是很少有系统优化逆序读取文件的性能
  • Record Rewrite:测试对文件的一个特定的“热点”进行写入和rewrite操作,热点是一个比较有趣的现象,当热点小到和cpu的数据缓存差不多的时候会异常的快。但是当大于cpu的数据缓存同时小于TLB的时候速度会在另一个数量级,这个现象在热点在操作系统缓存左右的时候也会有同样的现象出现。
  • Strided Read:测试按照某种步进的方式读取文件的性能,比如读4k然后跳过200k再读4k再一直重复这种。这样的行为在文件保存了某些数据结构的时候是常见的。这个表现通常没有被操作系统优化,而且也常常是程序的性能瓶颈所在。
  • fwrite:测试使用库函数fwrite()的写入性能,这个库函数是操作系统中常用的,而且使用在用户地址空间内的buffer。
  • frewrit:类似上一个,区别同write和rewrite
  • fread:
  • freread:类似fwrite,区别同read和reread

除了上面的几项之外,还有一些特别的测试指标:

  • mmap:许多操作系统支持使用mmap()把文件映射到用户的地址空间,这个映射让对该内存地址空间的操作直接反映在磁盘上。还有一些详细的区别,现在没空,改天翻译:
    This is handy if an application wishes to treat files as chunks of memory. An example
    would be to have an array in memory that is also being maintained as a file in the files system.
    The semantics of mmap files is somewhat different than normal files. If a store to the memory location is
    done then no actual file I/O may occur immediately. The use of the msyc() with the flags MS_SYNC, and
    MS_ASYNC control the coherency of the memory and the file. A call to msync(
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值