2013年10月6日日曜日

続 Amazon EC2 の Micro インスタンスで使用可能な CPU リソースを調べる

2011年に投稿した「Amazon EC2 の Micro インスタンスで使用可能な CPU リソースを調べる」は現在内容が正しくないので測定し直しました。

測定方法は以前と同じく、単純なループするだけのプログラムを実行し cgroups の cpuacct.stat を読むだけです。

環境

  • Amazon Linux 2013.09
  • ap-northeast-1c
  • t1.micro

ループプログラム

void main(){ while(1){} }

今回は cpu.rt_period_us と cpu.rt_runtime_us で CPU リソースの制限は行わずに、Amazon Linux のデフォルトの状態で測定しました。



以前は何も手を加えていない状態だと、すぐに CPU リソースが枯渇してしまい非常に扱いにくいものでしたが、今現在は最初からキャップが設定されているようです。

マイクロインスタンスは、非常に低コストなインスタンスオプションで、小規模な CPU リソースを提供します。マイクロインスタンスは、追加サイクルが利用可能であるときは、CPU 処理能力を短期バーストとして増大させることができます。このタイプが適しているのは、周期的に追加コンピューティングサイクルを必要とする低スループットのアプリケーションやウェブサイトです。持続的な CPU 性能を必要とするアプリケーションには適していません。
(引用元: http://aws.amazon.com/jp/ec2/instance-types/ )
ただ、上記AWSの説明にある「CPU 処理能力を短期バースト」というのがなくなっているのではという気もしてきます。

もっと長い時間計測すると短期バーストできることがあるのかもしれません。