読者です 読者をやめる 読者になる 読者になる

EC2のmicroインスタンスでベンチマークをとってみる

aws rails

Amazonにいつのまにやらマイクロインスタンスという
激安インスタンスが存在している。
それで説明を読んで見ると、

マイクロ インスタンス

このファミリーのインスタンスは、少量の整合性のあるCPUリソースを提供し、他のサイクルが可能になると、CPU容量をバーストできます。定期的にある程度の計算サイクルを消費する、少量のスループットアプリケーションやウェブサイトに最適です。

613 MB メモリ
最大2 EC2 Compute Units (短期の定期的なバースト)
EBS ストレージのみ
32 ビットまたは 64 ビットのプラットフォーム
I/O 性能: 高
API 名: t1.micro

CPU容量をバーストできると書いてあるので、
どういう意味だろうと思っていたが、
なんとなくわかってきた。
急にCPU負荷がかかると、少し頑張ってくれるらしい。
http://d.hatena.ne.jp/xibbar/20100610#1276133526
な感じの簡単なRailsアプリを作って
ベンチマークをとってみると、

コマンド さばけたリクエスト/秒
ab -n 50 -c 50 http://xxxx 18.57 [#/sec]
ab -n 100 -c 50 http://xxxx 19.00 [#/sec]
ab -n 150 -c 50 http://xxxx 19.58 [#/sec]
ab -n 200 -c 50 http://xxxx 4.42 [#/sec]
ab -n 400 -c 50 http://xxxx 3.82 [#/sec]

ということらしい。
150リクエストまでは頑張ってくれたが、
それ以後はかなり手を抜かれてしまいました。
これはリクエストをさばけなくなるまでの本番機に
ピッタリなのでしょうかね。安定していないので、
全然わからん。
 
ところで、上のリンクではかなりダメ出しをしているのですが、
Tokyoのこのインスタンスは以前に試した
Smallインスタンスよりパフォーマンスいいです。
なぜだろう。。。
 
今やってみたら、

ab -n 200 -c 50 http://xxxx 7.56 [#/sec]

7.56さばけた。ムラがあるけど、
パワーはある程度あるってところでしょうか。