dogmap.jp を t1.micro から t2.micro に変更してみました

AWS から 7/2 に新しいインスタンスタイプ T2 インスタンスがリリースされました。
【AWS発表】バースト可能な性能を持つ新しい低コストEC2インスタンス

dogmap.jp は、網元の実証実験も兼ねて、網元の t1.micro インスタンスで稼働させているのですが、アクセスが集中して負荷が高まってバーストした後、一定時間極端に性能が悪化するという問題がありました。
# これは t1.micro インスタンスの特性です。
これ結構辛くて、表側では Nginx のリバースプロキシキャッシュでなんとか凌いでいても、WordPress のダッシュボードにアクセスできないとかの状況に陥ることがしばしばあったんですよね。

T2インスタンスでも t1.micro 同様に負荷がかかったときに自動的にバーストします。
ただし、バースト可能な時間には制限があって、これを管理するために新たに CPU Credit という仕組みが追加されました。
簡単に言うと

  • 負荷が高くなく CPU がベースライン性能にとどまっている場合、CPUクレジット残高が貯まっていく
  • 負荷が高まった場合、CPUクレジットを消費してバーストする
  • 1CPUクレジットで1分間バースト可能
  • CPUクレジット残高が無くなった場合は CPU 性能はベースライン性能にとどまる
  • 未使用のCPUクレジットは、最大24時間有効

という感じらしいです。

名前 vCPUs ベースライン性能 1時間あたりのCPUクレジット
t2.micro 1 10% 6
t2.small 1 20% 12
t2.medium 2 40% 24

CPUクレジット残高については、Cloud Watch で確認することができます。
「CPU Credit Usage (使用量)」「CPU Credit Balance (残高)」という項目が追加されているので、そちらを参照してください。

2014-7-18 追記
Amazon MarketPlace からも HVM 版の網元AMIが利用できるようになりました。
WordPress powered by AMIMOTO (HVM)
t1.micro などの m1 インスタンスなどの HVM に対応していないインスタンスタイプはご利用になれません。
そちらが必要な場合は、従来の PVM 版をご利用ください。

さて、そんでは実際に1日 dogmap.jp を動かしてみて CPU 負荷がどれくらいだったのかを見てみましょう。
t2.micro での CPU使用率

上のグラフは 7/3の0:00 – 7/4の0:00までのCPU使用率(オレンジ)と、CPUクレジット使用量(青)、CPUクレジット残高(緑)です。
CPU 負荷がほぼ10%以下に抑えられているため、CPUクレジット残高はたまる一方ですね。
10%を超えてバーストしてCPUクレジットを消費したことがほとんど無いので最終的に100CPUクレジット以上溜まりました。
これでいきなりアクセスが爆発しても100分間の猶予があります。バーストが続くようなら、この猶予中に上のインスタンスタイプにスケールアップすることもできますね。

ちなみに t1.micro で動かしていた 7/2の0:00 – 7/3の0:00までのCPU使用率はこんな感じでした。
スクリーンショット(2014-07-04 9.59.11)

ちょこちょこ100%に行ってます。
t1.micro と t2.micro では実メモリ量も違う( t1.micro 0.613GiB, t2.micro 1.0GiB )ので、おそらく dogmap.jp ではメモリ不足でのスワップが頻繁に起こっていて、こんな切ないことになっていたのかもです。
なお、7/2, 7/3 とも特にブログの更新もしていなかったので、アクセス数についてはほぼ同じです。
wordpress.com stats 調べによると 7/2 753PV, 7/3 851PV まぁ、最近ほとんど更新してないので PV 落ちてるのはしょうがないっすなぁ。

こんなすばらしい t2.micro ですが、現在の網元AMIでは、残念ながら使用することはできません。
すでにアップデート申請はしているので、近日中に使用できるようになると思います。こう、ご期待。

2014-7-18 追記
Amazon MarketPlace からも HVM 版の網元AMIが利用できるようになりました。
WordPress powered by AMIMOTO (HVM)

コメントを残す

メールアドレスが公開されることはありません。