2012/07/30

仮想ディスクのファイル転送速度はホストOS並みのようです。

ubuntu10.04(ホストOS)に載せたubuntu10.04(ゲストOS)の仮想ディスクのベンチマークを採ったんですが、ホストOSとほとんど変わらない転送速度を示しました。

補)8GiB/464GiBという狭い範囲なので、「右肩下がり」のグラフにはなっていません。

仮想ディスクを確保したのは、ホストOSパーティションの前方です。

仮想ディスクに割り当てた場所のホストOSのベンチマーク結果は次のようになっています。

パーティションの使用状況をみると、全体の20%を過ぎたあたりに仮想ディスクが割り当てられているようです。

数値を見ると、ホストOS側では125MB/sくらいのようです。ゲストOSでは、122MB/s(平均)となっていますので、大きなファイルの「転送速度」はほとんど同じと言ってよさそうです。

平均アクセス時間の内訳を分析すると小さなファイルのアクセス性能を推測できそうなので、表にしてみました。

- 平均シーク時間 平均待ち時間 オーバーヘッド 合計
ホストOS 9ms 4.2ms 2.3ms 15.5ms
ゲストOS 0.2ms 4.2ms 3.8ms 8.2ms
「シーク時間」や「待ち時間」はハードウェア毎に決まった時間があります。その時間を引けば、OSの持つ「オーバーヘッド」を把握できると思います。

一つのファイルを処理するための「オーバーヘッド」は「3.8ms」くらいですが、ホストOSの「2.3ms」と比べてもそれほど悪くない値のようです。相応の「シーク時間」と「待ち時間」を加えると、(仮想ディスクのサイズにもよりますが)実際の平均アクセス時間は「6.7ms:8.5ms」程度なので、小さなファイルを大量に処理する操作以外では、速度差を体感するのは難しいように思います。

以上、「仮想マシン(VirtualBox)」のディスクアクセス性能は「思った以上に高かった」というお話でした。

補)個人的には「7割程度」の性能でも十分と考えていました。(2010年発表のビジネス用途向けパソコンで調査しました。)

特別な事情がなければ、パーティションを細切れにしてマルチブート環境を作るよりも、仮想環境で同時に複数のOSを動かす方が便利に作業できそうですね。私の場合はWindows7とのマルチブートですが、これにはもちろん特別な事情があります。

0 件のコメント:

コメントを投稿