VirtualBoxと実マシンとでディスクI/Oの違いを確認

Pocket

Windows上のVirtualBoxのLinuxが起動だけやたら遅いのはどうもBIOS経由のdisk I/Oが遅いんじゃなかろうか、と思って起動後の状態でベンチマークをとってみました。使ったのは、dbenchです。dbench 5で5並列でのアクセスをさせてみています。対象はraw diskを使ったVirtualBox環境とリアルブート環境です。

結果:VirtualBox

 Operation      Count    AvgLat    MaxLat
 ----------------------------------------
 NTCreateX     240151     0.576   482.564
 Close         176257     0.051    28.976
 Rename         10162     1.454   295.741
 Unlink         48614     4.451  3611.593
 Qpathinfo     217765     0.222   413.916
 Qfileinfo      37911     0.055    32.303
 Qfsinfo        39954     2.234    60.401
 Sfileinfo      19542     0.550   388.175
 Find           84199     0.672  1678.476
 WriteX        118530     3.479  3651.417
 ReadX         376109     0.185  1692.655
 LockX            780     0.138    20.811
 UnlockX          780     0.130    18.023
 Flush          16811    90.072  4535.314

Throughput 12.4427 MB/sec  5 clients  5 procs  max_latency=4535.443 ms

結果:実マシン

 Operation      Count    AvgLat    MaxLat
 ----------------------------------------
 NTCreateX     283026     0.056  1043.521
 Close         207853     0.006    10.037
 Rename         12009     0.182   467.670
 Unlink         57203     1.961  4348.426
 Qpathinfo     256742     0.025   586.056
 Qfileinfo      44763     0.005     6.373
 Qfsinfo        47089     0.264    16.122
 Sfileinfo      23114     0.054    39.272
 Find           99221     0.094  2166.365
 WriteX        139882     0.612  2854.145
 ReadX         444345     0.026  1545.910
 LockX            922     0.008     0.135
 UnlockX          922     0.007     0.143
 Flush          19858   136.950  5046.682

Throughput 14.7063 MB/sec  5 clients  5 procs  max_latency=5046.695 ms

というわけで、スループットは2MB/sec程度しか落ちていません。パフォーマンス的には十分でしょう。raw partitionを使わず、仮想ディスク+ホストキャッシュONをやれば、もっと早くなるような気がします。

Published
Categorized as 仮想化

By knok

I am a Debian Developer and a board member of Free Software Initiative (FSIJ).