我想测量 RAID6 阵列与 RAID10 阵列的读写性能。我知道bonnie++可用于计算磁盘性能,但 bonnie++ 生成的数字不包括“IOPS”等术语。现在,许多关于磁盘性能的文章和指南都提到“IOPS”。
如何使用 bonnie++ 计算磁盘阵列的 IOPS。我如何确保我的测试是在测试磁盘的实际 I/O 而不是系统缓存?
以下是来自我的一台服务器的一些示例统计信息。这些字段之一会报告类似于 IOPS 的数字吗?
# bonnie++ -q -d /data -u root
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
hosta.example. 11680M 680 99 281780 26 133389 18 3955 99 382518 24 1097 31
Latency 12070us 124ms 406ms 8065us 60074us 36903us
Version 1.96 ------Sequential Create------ --------Random Create--------
hosta.example.org -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 25616 33 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
Latency 125us 637us 585us 100us 13us 41us
1.96,1.96,hosta.example.org,1,1371669888,11680M,,680,99,281780,26,133389,18,3955,99,382518,24,1097,31,16,,,,,25616,33,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,12070us,124ms,406ms,8065us,60074us,36903us,125us,637us,585us,100us,13us,41us
不同的工具以不同的方式显示此信息。术语不一致。
我认为您不应该单独使用bonnie++来确定 IOPS。或者,如果您确实选择使用它(或其他工具,如iozone),您可以使用任意数量的实用程序来测量活动,以捕获每秒的 I/O 操作。
所以我可能会运行
bonnie++ -d /data -u root -n 64:100000:16:64
,并且在进行过程中,我将使用以下方法之一来跟踪 I/O 活动:PS 默认情况下,bonnie++ 将使用两倍于已安装 RAM 大小的文件大小来限制/消除缓存效果。
...或者你可以绘制它...
为此,我使用orca 。
该系统的平均组合读/写 IOPS 为 816。
例子:
iostat - 寻找
tps
collectl - 寻找
IOs
。拆分为读和写。总和等于 IOPS。nmon - 寻找
Xfers
。