仮想化環境、VMware ESXi への移行計画の続きです。VMware Server 1 から ESXi にするとどれくらいサーバは高速になるのか。Pentium 4 + ESXi 3.5 と Core 2 Duo + ESXi 4 ではどれくらい差があるのかを調べてみます。

ここまでのまとめ1: 現在の環境

  • プライマリサーバ … Core 2 Duo E6700 + ESXi 4.0
  • セカンダリサーバ (予備。プライマリがメンテ中の時だけ) … Pentium 4 + ESXi 3.5

バージョンの違う ESXi サーバを立てました。

ここまでのまとめ2: ESXi の欠点

色々いじってみて、VMware ESXi を導入する上での泣き所は 4つあると思います。

これらの責め苦を補って余りあるのが、仮想マシンの動作が速いことと言われていますが、実際そんなに御利益はあるのでしょうか。

vCenter Converter で既存の CentOS 上で動いている「仮想」 WordPress サーバを VMware Server → ESXi 3 / 4 にそれぞれコピーしてみました。パフォーマンスはどれくらい向上したのでしょうか。

平均リロード (reload) 時間

まずは分かりやすいところで、http://www.nire.com/ を IE8 で「最新の情報に更新」する時間を、ざっと計測してみます。

実運用環境で、他のサーバがいろいろと動いている状態で計測せざるを得ないので、「同時に稼働中のマシン数」を明記してあります。Active Directory サーバとか、メールサーバとか、そういうのが自宅サーバで色々動いていると思ってください :mrgreen:

ホスト OS CPU 同時に稼働中の
仮想マシン数
平均リロード時間
VMware Server 1 +
Virtual Server 2005 R2
共存
Windows Server
2003
Pentium 4
3.2GHz
(Northwood)
2 10秒
ESXi 3.5 U2 不要 3 5秒
ESXi 4 不要 Core 2 Duo
E6700
6 5秒

まったく同じお古の Pentium 4 3.2GHz (Northwood) に入れても、ESXi だと VMware Server 1 に比べて格段に速いですね。

Virtual Server 2005 R2 と VMware Server の共存などという、コーヒーとみかんと一緒に飲み食いしたような行に走ったため、お互いに足を引っ張り合って遅かったのでは、という疑惑もありますが、まあ個人で仮想化しまくっている人は一度は通る道でしょう 🙂

とにかく、VMware Server 1 上では、あまりの WordPress 2.8 の重さに、仮想化しているにも関わらず、同一ホスト OS に入居している仮想マシンを追いだして、ゲストOS たったの 2個で 10秒かかっていました。

目標は待ち時間 6秒切ることでしたが、Pentium 4 + ESXi 上では仮想マシンを 3台にしても 5秒待ち程度。Core 2 Duo E6700 + ESXi 4 上では、倍の仮想マシンをぶらさげても同じパフォーマンスです。

ab コマンドで少し負荷をかけてみる

クライアント x 1 からではなく、一斉にアクセスされた場合をシミュレートすべく、ab コマンドでローカルからストレステストして、所要時間の違いを見ます。

(← F AST)

VMware Server vs. ESXi: ab コマンドの Time per request 比較

条件は wp-cache プラグインの効果を測定したときと同じで、

  • サーバローカルから www.nire.com トップページにアクセス
  • 同時 5クライアント、100回アクセスの合計時間 (ab -n 100 -c 5 http://…….)
  • APC (Alternative PHP Cache) あり
  • wp-cache ありとなし、両方測定
  • 一番時間がかかる「Pentium 4 + VMware Server 1 + wp-cache なし」の所要時間を 100% とする

wp-cache ありの効果が劇的なのは当然として。

同じ Pentium 4 で VMware Server 1 → ESXi 3.5 にリプレースしても、スピードは同等か強烈には速くならないように見えますが、クライアント x 1 のリロード時間が明らかに倍程度になっているのに、アクセス殺到したら VMware Server も ESXi も対して変わらないのはちょっと解せません。

圧倒的なのはやはり Core 2 Duo E6700 にした場合で、仮想マシンの数がもっと多い (2:3:6) にも関わらず、Pentium4 勢に比べて 4倍のスピードをたたき出しています。

さらに Core 2 Duo E6700 + ESXi 4 にすることで、一気に仮想マシン 6台でも同等のパフォーマンスです。デュアルコア化、命令セットの 64bit 化、64bit に対応した ESXi 4 使用の合わせ技というところでしょう。

強引ながらまとめ

統計データというほどではありませんが、無理やりまとめると

  • Pentium 4 マシンでも、VMware Server 1 → ESXi にすると仮想マシン 1台分ぐらい余計に動かせる。でも同時アクセスが殺到すると御利益なし
  • Pentium 4 3.2GHz Northwood → Core 2 Duo E6700 で 2~3倍の仮想マシンが動くようになる。同時アクセスにも強い。

パフォーマンス的には十分満足できますが、実は Core 2 Duo E6700 マシンを ESXi サーバとして本格的に使う前に、お下がりシステム最後のパーツ交換が必要です。

つづく。