2008/12/04(木)VMwareのUSB2.0は結構遅い

VMware内のゲストOSに対してUSB2.0で接続したHDDがどのぐらいの速度が出るかを調べてみた。
結論、超遅い。
これではサーバの統合は難しいなぁ。
できれば統合後もHDDはUSB2.0接続のまま使いたかったんだけど。

VMwareのネットワークはまともにチューニングされているらしいので、いっそNAS or iSCSIにするほうがいいのかもしれないけど、NAS HEADなんておきたくないのにー


話が長いので、詳細は(続きを読む)で

前説

  • とあるサーバをVMwareで仮想化したい
  • ターゲットはWindowsXPで稼動している
  • USB2.0でHDDが接続されており、ほぼすべてのデータがここにある
  • CPUも使うが、DISKアクセスが特に激しい

テスト環境

(参考)現状はCeleon(Socket370/Coppermine-128K)1GHz/MEM 512MB
  • NEC Express5800 110Gd/MEM 2GB
  • Host OS Windows XP SP3 Home
  • Guest OS Windows XP SP3 Pro
  • VMware Server Version 2.0.0 (122956 - 10/29/08)
※比較としてVMware Server 1.0.8も試した*1
  • 適当なUSB2.0 HDDケースと適当なIDE HDD
  • CrystalDiskMark 2.2 (500MB 1回試行)

*1 : 実は間違えてインストールした

接続方法

1. ホストOSにUSB2.0で直接接続し、CrystalDiskMarkを実行する
2. VMWare Server1.08内のゲストOSにUSB1.1として接続し、CrystalDiskMarkを実行する
3. VMWare Server2.00内のゲストOSにUSB2.0として接続し、CrystalDiskMarkを実行する
4. 1. ホストにUSB2.0で直接接続し、Windowsファイル共有(SMB)でゲストOSからマウント、CrystalDiskMarkを実行する
5. 参考に、移行前の環境でもCrystalDiskMarkを実行しておいた
  • ホスト~ゲストのネットワークはbridgeを選択
  • USB接続のHDDはライトバックキャッシュをoffにしたまま(標準状態)

結果

測定項目1. ホスト直結2. USB1.13. USB2.04. SMB経由5. 移行前
Sequential Read28.029 MB/s3.905 MB/s10.427 MB/s25.573 MB/s33.206 MB/s
Sequential Write26.546 MB/s3.841 MB/s9.581 MB/s8.493 MB/s23.564 MB/s
Random Read 512KB11.988 MB/s3.718 MB/s8.765 MB/s24.958 MB/s20.253 MB/s
Random Write 512KB15.751 MB/s3.820 MB/s9.447 MB/s7.973 MB/s23.365 MB/s
Random Read 4KB0.176 MB/s0.246 MB/s0.291 MB/s4.078 MB/s0.419 MB/s
Random Write 4KB0.753 MB/s0.326 MB/s0.740 MB/s0.477 MB/s1.305 MB/s
遅っ!
SMB経由のほうが早いってどうよ?
まあ、数値を見る限り相当キャッシュが効いているみたいだけど。
書き込みのほうでぼろが出るよね。

ところどころ変な数値も出てるけど、まあ、気にしない。試行回数少なすぎだし。
移行前の環境はCPUの割りに速度が出てますが、これはUSB2.0のI/Fカードを別途取り付けたのがよかったのかもしれない。本体i810なのでUSB1.1なのよね。ジャンクで買ってきた2.0のカードを別途PCIスロットに取り付けてあった。