Amazon EC2とRackspace Cloud ServersをRailsアプリでベンチマークとってみた

以上のような構成で
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とかはないので、自分で実装する必要があるだろう

 
みんな参考になったかな。

  • 毎秒1.7リクエストしか食えないことがわかって、AmazonのSmallには絶望した。