Amimoto vs Bitnami

Amimotoと Bitnami で EC2 インスタンスを作成し、性能比較をしてみました。
テストサイトでは WordPress 3.4.1 日本語版にテストデータとして、英語版のテーマユニットテスト用データをインポート。
Amimotoでは、さらに WP BoosterNginx Cache Controller を導入しています。

使用したインスタンスタイプは、EC2 の t1.micro 。
それぞれ使用した ami は、以下の通りです。

  • Amimoto : ami-cab507cb ( CentOS 6.2, Nginx 1.2.2, PHP 5.3.14, Percona 5.5.24 )
  • bitnami : ami-06ff4c07 ( Ubuntu 12.04, Apache 2.2.22, PHP 5.3.13, MySQL 5.5.21 )

Pingdom Tools での計測結果

Web サイトのロード時間を計測してくれる Pingdom Tools での計測結果は、それぞれ以下のようになりました。
Amimoto + WP Booster では総読み込み時間が 1.52秒、Bitnami では総読み込み時間が 2.17秒です。
これは、WP Booster で画像を CDN 配信していることが大きな要因ですね。

Pingdom tools ( Amimoto )
Pingdom tools ( Amimoto )
Pingdom tools ( Bitnami )
Pingdom tools ( Bitnami )

ab ( Apache Bench ) コマンドによる単純な負荷テスト

次に ab コマンドを使用して、トップページに負荷をかけてみます。
ab -n 100 -c 10 (総リクエスト数 100、同時接続数 10) で負荷をかけてみた結果が以下の通りです。

/ Time taken
for tests
Requests
per second
Time per
request
Transfer
rate
Connect
(mean)
Processing
(mean)
Waiting
(mean)
Total
(mean)
Amimoto 0.922
seconds
108.41
[#/sec]
92.241
[ms]
5020.70
[Kbytes/sec]
14
[ms]
74
[ms]
13
[ms]
88
[ms]
Bitnami 98.771
seconds
1.01
[#/sec]
9877.068
[ms]
47.84
[Kbytes/sec]
14
[ms]
4620
[ms]
2503
[ms]
4634
[ms]

一秒あたりの処理数 ( Requests per second ) で比較してみると、Amimotoが 108.41 [#/sec] なのに対し、Bitnami では 1.01 [#/sec] と、実に100倍以上の開きがあります。
ちなみに 総リクエスト数 1000、同時接続数 100 で負荷テストを行った所、Amimotoでは一秒あたりの処理数は 267.46 [#/sec] を記録しました。
Bitnami では、残念ながら計測できませんでした。

ab で、負荷テストをかけていた時の CPU 使用率は以下のようになりました。

Cloud Watch CPU Utilization
Cloud Watch CPU Utilization

緑の i-7810f37b が Amimotoで、青い i-d810f3db が Bitnami を動かしていたインスタンスの CPU 利用率です。
Bitnami は、CPU 負荷がどんどんあがって行ってるけど、Amimotoでは横ばいであることが見てとれると思います。
t1.micro という非力なインスタンスでも、Amimotoで Nginx Cache Controller を有効にしていれば、さほど負荷がかからないことがわかりますね。