Amazon EC2とRackspace Cloud ServersをRailsアプリでベンチマークとってみた
- Ubuntu-8.04LTS
- Ruby-1.8.6
- Postgresql-8.3
- Passenger
以上のような構成で
scaffoldしただけのシンプルなRailsアプリを作って
比較してみた。カラムを2つにして、
レコードを50個登録しただけの、
一覧を表示するだけのアプリ。
ベンチマークの取り方は
% ab -n 200 -c 50 http://xxxx/articles
みたいな感じで、200リクエストを50リクエストずつ
apache benchで投げてみた。以下、その結果。
Amazon Small インスタンス
- 1.7 GB memory
- 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)
- 0.085/時 US$/hour == 61.2/月 US$
Requests per second: 1.76 [#/sec] (mean)
Amazon High-CPU Medium Instance
- 1.7 GB of memory
- 5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each)
- 0.17/時 US$ == 122.4/月 US$
Requests per second: 7.71 [#/sec] (mean)
Rackspace 512MB
- 512MB メモリ
- 0.03/時 US$ == 21.6/月 US$
Requests per second: 10.79 [#/sec] (mean)
Rackspace 2048MB
- 2048MB メモリ
- 0.12/時 US$ == 86.4/月 US$
Requests per second: 10.41 [#/sec] (mean)
結論
- AmazonのSmallはメモリとかディスクの容量に比べるとCPUは非力すぎて実用に耐えられるレベルではない。これを使う人はいるのだろうか?
- AmazonのHigh-CPUはリクエストの消化はまあまあだが、このサーバに毎月122.4 US$かかるのはコストパフォーマンスがいいとは思えない(私としては)
- Rackspaceはプランが違ってもCPUパワーは一緒のようだ。
- RackspaceはAmazonのようにAutoscalingとか負荷分散とかの機能はない。
- 512MでもCPUパワーはAmazonのHigh-CPUインスタンスよりもRailsのリクエストは食えた。
- 1台で比較した場合は、Rackspaceの2048MBとAmazonのHigh-CPUがスペック的にまずまず互角ではないかと思うのだが、価格面では、Rackspace 86.4 US$に比べ、Amazonは122.4 US$となってやはりAmazonの方が割高だ。
- やはりRackspaceいいね。安くてお手軽だ。
- でも負荷分散とかAutoscalingとかはないので、自分で実装する必要があるだろう
みんな参考になったかな。