您查看的文章来源于http://www.oklinux.cn
图 1. 虚拟 SCSI 例子
理解一个度量示例
下面让我们来看一个度量示例,它显示了为什么需要理解物理磁盘到虚拟磁盘的映射方式。如 图 1 所示, VIO 服务器从 sda
引导。VIO 服务器然后会对 sdb
和 sdc
上的 3 个分区进行虚拟化。VIO 客户机从 sda
上引导,然后会将这 3 个虚拟分区作为 sdb
、sdc
和 sdd
进行挂载。
本例的任务负载是由 Flexible File System Benchmark (FFSB)(请参看 参考资料 下载这个工具)提供的,它是一个开源工具,很容易配置来提供各种读/写、顺序/随机操作模式,还可以使用其他一些线程选项。对于本例来说,FFSB 被配置用来对客户机磁盘 sdb
、sdc
和 sdd
的性能进行评测。大型顺序读操作是对 sdb
磁盘进行的。小型随机读操作是对 sdc
磁盘进行的。顺序写操作是对 sdd
磁盘的,如 清单 1 所示。 iostat
工具可以度量这些行为的结果。这个测试首先在每个磁盘上单独运行,然后在这 3 个磁盘上并行运行。
清单 1 给出了对 sdb
执行大型顺序读操作时 iostat
的结果。
清单 1. 大型顺序读操作时 iostat 的输出结果
avg-cpu: %user %nice %system %iowait %steal %idle
0.30 0.00 6.35 93.30 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s
sda 0.00 0.45 0.10 0.10 0.80 4.80 0.40
sdb 1.17 0.80 173.36 0.40 82818.59 11.19 41409.30
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: wkB/s avgrq-sz avgqu-sz await svctm %util
sda 2.40 28.00 0.00 5.00 5.00 0.10
sdb 5.60 476.68 102.99 592.19 5.75 100.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 0.00 0.00 0.00 0.00 0.00
|
清单 2 给出了对在 sdc
上执行小型随机读操作时 iostat
的输出结果。
清单 2. 执行小型随机读操作时 iostat 的输出结果
avg-cpu: %user %nice %system %iowait %steal %idle
0.05 0.00 0.95 99.00 0.00 0.05
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s
sda 0.00 0.45 0.00 0.10 0.00 4.80 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.80 98.85 0.40 2390.80 11.19 1195.40
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: wkB/s avgrq-sz avgqu-sz await svctm %util
sda 2.40 48.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00
sdc 5.60 8.03 31.56 105.50 3.34 100.00
sdd 0.00 0.00 0.00 0.00 0.00 0.00
|
最后,清单 3 给出了对 sdd
执行随机写操作时 iostat
的结果。
清单 3. 执行随机写操作时 iostat 的结果
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 1.00 98.95 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s
sda 0.00 0.45 0.10 0.55 0.80 8.40 0.40
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 27.69 0.00 455.97 0.00 3866.87 0.00
Device: wkB/s avgrq-sz avgqu-sz await svctm %util
sda 4.20 14.15 0.01 15.38 4.62 0.30
sdb 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00
sdd 1933.43 8.48 143.49 297.71 2.19 99.95
|
这三个测试并行执行时客户机端的 iostat
命令的结果显示,在并行执行测试时,各个磁盘的吞吐量要低于在这些磁盘上单独运行测试时的吞吐量。清单 4 给出了这 3 个测试并行执行时 iostat
的结果。