EC2 Micro Instance の調査

2012年11月公開

EC2 Micro Instance の調査

EC2 Micro Instance は通常のインスタンスと違い短時間のバースト(高速実行)ができます.しかし Amazon Web Service の Web ページではその詳細が載っていないので,それについて調査を行いました.

高負荷時の挙動

EC2 Mirco Instance の CPU 接収形態は 2 種類存在します.このページでは高速モードと低速モードと記述します.調査により 2012 年 11 月時点では,高速モードの CPU 接収率(CPU が本来の速度と比較して制限されている割合)は平均 4 %程度,低速モードの CPU 接収率は平均 90 %程度となります.
CPU を使用していない状態が続いている場合 EC2 Micro Instance は基本的に高速モードで動作していますが,高負荷をかけはじめしばらく経つと低速モードに移行します.調査により 2012 年 11 月時点では,低速モードへの移行は 10 秒〜 20 秒の間に行われることがわかりました.
図 1: 高負荷をかけた時の CPU 接収率
(縦軸は CPU 接収率 [%],横軸は高負荷をかけ始めてからの時間 [秒])
調査方法:
/proc/stat の steal 欄を 1 秒毎に監視しながら CPU への負荷をかけました.確実に高速モードに移行するため,各試行の間隔は 200 秒開けて行なっています.上図は 100 回の平均です.

低速モード時の超短時間での挙動

EC2 Micro Instance は 10 ミリ秒程度の超短時間であれば低速モードであっても約 65 %程度の確率で高速実行が成功します.また,低速実行が行われると普段は 10 ミリ秒分の実行が 1 秒程度の時間かかります.
調査方法:
for 文のカウンタと実行時間を見ながら低速モードに切り替わるまでの時間の調査を行い,そのうち高速モードの継続時間が 1 秒以下であった試行を対象に計算を行いました.

高速モードの継続時間

14 秒程度の高速モードの継続時間がありました.概ね継続時間は変化せず,継続時間が 10 秒以下となることはほとんどありませんでしたが,発生条件は不明で 10 %程度の確率で 20 秒程度継続する場合がありました.
調査方法:
for 文のカウンタと実行時間を見ながら低速モードに切り替わるまでの時間の調査を行い,そのうち高速モードの継続時間が 1 秒以上であった試行を対象に計算を行いました.

実行可能時間の時間変化

EC2 Micro Instance の実行可能時間の制限は短期間だけでなく,長期間についても設定されていると考えられます.負荷をかけ始めて1時間以内は平均で 13 %程度の能力が出せるのに対して,20時間程度実験を続けると平均で 2 %強まで低下します.
図 2: 実行可能時間の時間変化
(縦軸は CPU 使用率 [%],横軸は実験の継続時間)
調査方法:
起動直後の 5 台のマイクロインスタンスに対して,各 1 時間毎について回せた for 文のカウンタの数の変化を調査しました.