ユアマイスター株式会社エンジニアブログ

ユアマイスター株式会社のエンジニアが日々徒然。

AWS の EC2 を使ってたら CPU steal で処理がさばききれなくなった

こんばんは!ユアマイスターの星です! 本日は最近出会ったAWSに関する困難のお話です!

とある日、

Mackerelからアラートが飛んできて、どうやら処理速度が遅くなっている様子。

cpuを見ていると、

f:id:yourmystar_engineer:20170624194312p:plain

ん?なんだ??この茶色??

す、スチール。鉄?w

再起動や、プロセス数のチューニングを何度か試すも、効果なし。

そこで、色々調べて見たら、AWSのt2インスタンスでは、ある程度CPU高い状態が持続すると、

AWSの方で自動的にリソース制限をかけますよという仕様の模様。

CPU クレジットとは何ですか。

1 個の CPU クレジットは、1 台の vCPU を使用率 100% で 1 分間実行することに相当します。たとえば、1 台の vCPU を使用率 50% で 2 分間実行したり、2 台の vCPU を使用率 25% で 2 分間実行したりなど、他の vCPU、使用率、時間の組み合わせでも、1 個の CPU クレジットに相当します。

docs.aws.amazon.com

それだ!

ということで、今回はm4インスタンスへの格上げを行い、無事処理速度が遅くなっている状態を解消しました。

AWSは知らずに使っている仕様が他にもたくさんありそうなので、要研究です。。。

参考

http://blog.a4works.co.jp/archives/937

https://teratail.com/questions/29076