タイトル長!!
こんばんわ、たけけんです。
前回の続きになります、以前VPSでMondo Rescueを使ってISOを作り、VMwareWorkstationを使って、やっとこさ自宅サーバーでクローン環境の作成に成功していましたが、今回はその環境を使ってNginxとApacheを比べてみました。
比べてみたと言っても、F5キーでの体感速度と、Jmaterというソフトを使ってなんちゃって検証をやってみた程度です。
と、その前にNginxの環境を作らないといけないんですが、これがちょっとくたびれるものでした、以下ダイジェストでお送りします。
まずはほんとにVPSのまんまなので(そりゃISOイメージだからな)IPアドレスの設定から行います。
system-config-network
このコマンドでDHCPにしてnetworkを再起動します。
ちょっとずるい気がしますけど、固い事言わないで。
バーチャルホストの設定もしているので、強引ですけどローカルIPを割り当てます。
<VirtualHost *:80> ServerName 192.168.211.129
後のNginxのインストールの流れは、前回も参照にしたウェブサイトで
さくらたんどっとびーず さくらVPSとnginxリバースプロクシで最速WordPressブログを作る方法(ベンチマーク付き)
のソースを使わせてもらいます、ところが今回はspawn-fcgiとやらでエラーが出たので、エラーを見ると「もの」じたいが無いようなのでインスコします。
yumでできなかったのでソースから入れました。
# wget http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz # tar zxvf spawn-fcgi-1.6.3.tar.gz # cd spawn-fcgi-1.6.3 # ./configure # make # make install
サクッと入れましたが、php-fastcgiはまだ起動できず、これは単純にパスが違うようなので修正を。
whereis spawn-fcgi spawn-fcgi: /usr/local/bin/spawn-fcgi
さあ起動だというところですが、まだ以下のようなエラーがでます。
No input file specified.
始めて見るエラー、どうもnginxとfastcgiがうまく連動していないエラーみたいで
、nginx.confをくまなく調べると修正が必要な箇所が残っていました。
fastcgi_param SCRIPT_FILENAME
上のところを修正したら見事にNginxも動いてくれました。
さてさて
では、まずF5アタックからの結果です。
注:これはローカル環境です。
まず意味があるのか分かりませんが、ApacheもNginxもストップさせてちょと待ちます。
まずはApacheから攻撃する事にしました。
F5アタックをやり始めて、もう数秒でロードアベレージは3~4くらいになり、プロセスはずずーっと下の方までhttpdとmysqldで埋まりました。
ではNginxでの結果ですが、結果から言うとF5アタックなんて効きませんでした。
無反応というかこれがリバースプロキシなんでしょうね、プログラムの実体ではないんですから当然といえば当然の結果なのです。
身を持って体験するとはこういう事を言うのでしょう。
ではJmaterの結果を貼り付けます。
プロセス数は100、Ramp-up期間は60秒、ループ回数は100です。
上がNginxで下がApacheです。
Apacheの結果のサンプルが少ないですが、ロードアベレージが30を超えたところでもう嫌になって中断しました、prefoke mpmがVPS512プラン用のものなので、少し数値を上げてみてリトライしてみましたが、余計悪くなってしまった(笑)
orz
まぁ、リバースプロキシとApacheの比較なんてのは、そもそも全く比較にならないという結果になりました。
ここまで違うとVPSでも採用しようかなあという気持ちが出てきますが、今のアクセス数では全くそんな必要がないのが、少し悲しいです。