TOP  >  なーお'nぶろぐ  >  なーお  >  PC,Linux,仮想化  >  [Linux] 次期ゲストOS選定が悩ましい・・

なーお さんの日記

 
2009
12月 4
(金)
22:14
[Linux] 次期ゲストOS選定が悩ましい・・
本文

公開サーバーの更新計画、徐々に進んでいます。

現時点で、ハードとハイパーバイザー(VMWare-ESXi4.0)は決めましたが、ゲストOSで色々悩んでいたところ、

    • web server  : CentOS5.4
    • mail server : Vine Linux 5.0
      • メールサーバーをVineにする理由は、drac+qpopperで、pop before smtpとpop3s が簡単にできるので、今回メインのサーバーと分離した後も融通が効くため。 CentOSだとこの組み合わせはちと面倒なんで。

の2本で行くことで仮決めしました。

ここに至る経緯ですが。。

経緯

 うちの環境でweb serverに要求されるのは、何と言ってもLAMPサーバーのトータル速度と安定性のバランスのよさです。 XOOPSで重い処理をがんがんこなすサイトがいくつか乗るので。。

軽量パッケージでは?

 速さだけでいえば、軽量パッケージの Ubuntu9.10、Vine Linux あたりが速いことは確認済み。 特にUbuntuは、x86_64パッケージは元より、i386パッケージでもカーネルconfigがpara-virtualization(VMI:準仮想化)が有効になっており、どちらも軽快です。

 しかしこのUbuntu、32bit版も64bit版も、ローカルでブラウザアクセスするととっても速いのに、なぜかネットワーク経由でアクセスすると、べらぼうに遅い。 :-(  追求すれば原因も見つかるかもしれませんが、あまり時間を割けないので諦めました。

 続いて、Vine Linux5.0。 これも軽いんだけれども、どうしてPHPが5.3になっちゃっているの?  Xoops Cube Legacyでちょっと古いコアだと動作が変。 全サイトを一気にアップグレードするのは困難なので、これもパス。 これはメールサーバーに廻します。

本命のCentOS

 最後に、CentOS、(5.4)。 さすがにサーバー用に実績の高い枯れたパッケージ。安定性は抜群です。 64bitのx86_64パッケージが、やはり何気に速い。
 試しに、こちらのサイトを参考に、32bit版にカーネル再構築を行って、para-virtualization(VMI:準仮想化)を組み込んでみたりもしていますが、 素の32bitより若干速い程度の気がします。 

(VMIが有効になった様子)

$ dmesg |grep vmi
Linux version 2.6.29 (root@centvmi) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Tue Dec 1 19:25:10 JST 2009
vmi: registering clock event vmi-timer. mult=10507671 shift=22
vmi: registering clock event vmi-timer. mult=10507671 shift=22
Booting paravirtualized kernel on vmi
vmi: registering clock source khz=2505224

 なお、Vine Linex5.0もVMIを有効にカーネル再構築したのですが、当該カーネルでブートしてもVMIが有効になりませんでした。 :-?

速度比較

 いくつか速度比較を行ったので、情報として貼っておきます。

xpWikiページ表示速度

 下の画像は、以下の3つのディストリで、なーお'nWEBのこのxpWikiページを表示した時の速度比較です。

    1. 既存VMWare-Server2.0上での、VineLinux4.2 ゲスト
    2. 新規ESXi上での、CentOS-5.4_x86_64(63bit) ゲスト
    3. 同じESXi上での、CentOS-5.4_i386(32bit)-VMI ゲスト
64bit_32bit_xpwiki.jpg

 それぞれのお尻のところに処理時間が表示されてますね。

VMware-Server-Vine40.567 s
ESXi-CentOS-x86_640.340 s
ESXi-CentOS-i386VMI+SAS0.422 s
ESXi-CentOS-x86_64+SAS(追記)0.327 s

(091207:追記分は、ESXiの仮想SCSIコントローラに「LSI Logic SAS」を選択した場合。)

 CPUとマザーボードは同じAMD-AthronX2-4850e、on M2NPV。 ハードディスクも同じWD6400AAKS-Raid1ですが、 1、現行VMWare-serverのほうはオンボードのnVIDIAのFake-Raid、 2,3、新規のほうはESXiに(ADAPTEC)ASR-2405-Raidなので、この部分はそこそこハンデがあります。 但し、2、3、は両者同一ホスト上に同時に稼動させています。

 さすがに、x86_64は速いですが、32bitのi386も負けてません。 VMWare-Server2も健闘していますが、 高負荷時はCPUパワーを思い切り使い果たしての数値、ゲストを追加する気に全くなりません。 片やESXiはゲスト2つでも涼しい顔なのです。

ディスクR/W性能

 ここからは、ESXi上のCentOS同士に絞っての比較。
 こちらのサイトを参考に、仮想HDDへの簡単な読み書き性能を比較してみました。 思った以上に差が出てます。

ReadWrite
x86_64123 MB/s121 MB/s
i386VMI+SAS105 MB/s73 MB/s
x86_64+SAS(追記)164 MB/s147 MB/s

(091207:追記分は、ESXiの仮想SCSIコントローラに「LSI Logic SAS」を選択した場合。ビックリする結果が出ました。下記問題も解決しています。)

 ここまで差があれば、64bitにキマリじゃん、 と思うのですが、ちょっと問題が出て悩んでます。 :-?

 以下は、なーお'nWEBの新着情報にアクセスした時の、VNC経由でのGNOMEシステムモニタグラフ。 左がx86_64、右がi386。 明らかに、64bitの方に異常な高負荷がかかってます。 同じデータを参照しているのに。 :-o

64bit_32bit_compare_small.jpg

 少し調べてみると、picoモジュールの本文xpWikiフィルターを通したページを多数舐める処理が入るので、大きな差になって出ている様子。 新着リストに本文非表示とすると、すっと収まる。

 どうしたものか。。 picoフィルターとd3pipesブロックジョイントをハックするだけでも行ける気もするけど、今後のことを考えると心配。。 ああ、悩ましい。

(追記)結局、x86_64で、ESXiの仮想ディスクコントローラを「LSI Logic SAS」とすることで、ディスク速度も向上し、上記のような問題はなくなりました。 :-D

ハードとソフト環境

  1. ハードウエア
    • M/B:(ASUS)M2NPV-MX
    • CPU:(AMD) AthronX2-4850e(TDP45W)
    • RAIDcard: (ADAPTEC) ASR-2405 (RAID-1)
    • HDD:(WD) WD6400AAKS (x2)
    • メモリ:(CFD)DDR2-PC2-6400-2GB x3 =計6GB
  2. ソフトウエア
    • ハイパーバイザ:VMWare-ESXi-4.0.0 Releasebuild-171294
    • OS:(CentOS)5.4、Kernel-2.6.18-164.6.1.el5 (x86_64)
    • httpd:Apache-2.2.3-31.el5.centos.2(Arch:x86_64)
    • php: 5.1.6-23.2el5_3(Arch:x86_64)
    • mysql:5.0.77-3.el5(Arch:x86_64)
    • core:Xoops Cube Legacy 1.0.6
    • pico:1.81
    • Altsys:0.71
    • xpWiki:4.02.12
    • d3pipes:0.66
閲覧(43591)

コメント一覧

なーお  投稿日時 2009/12/7 1:15

なーおです。

その後の状況、自己レスです。

Debianとか、色々試したのですが、最後にやっていなかった、64bitOSに(仮想ストレージコントローラを)LSI Logic SASコントローラの組み合わせを試してみたところ、ディスクR/W速度が大幅に向上し、体感速度も速くなりました。

これでキマリです。 :-)

新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ