VMware ESXiの評価(Dell SC440) ネットワーク負荷計測の巻(No more Disk I/O偏)

昨日のネットワーク負荷の実験で、
http://d.hatena.ne.jp/ichikaway/20080918/1221733088
ファイルのREAD問題があってということを書いたが、kanatokoさんからddでデータを生成してそれをncにパイプで渡せヴぁ?というアドバイスをもらった。
確かにそれならDisk I/Oが発生しないので、単純なネットワーク負荷のテストが出来るはず。ということで再度テストしてみた。

計測は、ncコマンドを用い、VMゲストOSから一方的に2Gのデータを送信する、受信する場合をそれぞれ計測した。

データ受信側: nc -l 1234 > /dev/null
データ送信側: time dd if=/dev/zero bs=1024 count=2000000 | nc 192.168.222.1 1234


下記がその結果。

まずはVMware Serverの場合。

■VMware ServerのVM guest → Linux単体サーバ 2Gファイル転送
転送速度:20 MB/s(160Mbps)
CPU0 : User+System=25%
CPU1 : User+System=97%
ロードアベレージMax 1.38


■Linux単体サーバ → VMware ServerのVM guest 2Gファイル受信
転送速度:32 MB/s(256Mbps)
CPU0 : User+System=0%
CPU1 : User+System=99%
  ただし、受信後半から、cpu0が60%ぐらい利用される。cpu1は常に90%台
ロードアベレージMax 0.75

次に、ESXiの場合

■ESXiのVM guest → Linux単体サーバ 2Gファイル転送
転送速度:25 MB/s(200Mbps)
CPU0 : User+System=20%
CPU1 : User+System=99%
ロードアベレージMax 1


■Linux単体サーバ → ESXiのVM guest 2Gファイル受信
転送速度:45 MB/s(360Mbps)
CPU0 : User+System=0%
CPU1 : User+System=99%
ロードアベレージMax 0.5


考察
ゲストOSからのファイルの送信に関しては、転送速度、CPU負荷で大きな差は見られない。ファイルの受信の場合、ESXiの方がVMwareServerに比べて100Mbps程度受信速度が速い。
VMwaerServer, ESXi共にゲストOSのデータ受信の方が、データ送信よりもパフォーマンスが良い。これは送信側がVMを動かしていないLinux単体サーバなので、そちらのddのデータ作成速度が良いためだと思う。(VMゲスト側でddをしていると、CPU負荷+VM負荷となりddのデータ作成速度が落ちる)

インターネット上のサーバで、帯域100Mbpsぐらいの環境であれば、ネットワーク転送にかかるCPU負荷もほとんど変わらないと思う(というかシェイプして計測しろよという話だけど)

やはりESXiとVMwareServerの大きな違いは、Disk I/Oの速度だろうな。特にVMwareServerのREADパフォーマンス問題が気になって仕方がない。

使い勝手でいくと、やっぱりVMwareServerの方が単純なファイルなのでホストOSからの制御がしやすい。ESXiは管理ツールが優れているけど、物理レイヤーの制御で痒いところに手が届かなかったりする。
それとESXi自体のサーバリブートとかリモートからできるんだっけ?ちょっとそこら辺も調べないと。