sarのstealってなんじゃらほい?(AWSのt2系インスタンス限定のお話)
ここ最近はずっとAWSのコンソールとイチャコラしてるのですが、弊社がリリースしたEAPが実運用に耐えられるかどうかという負荷テストを行っていた際に珍しい(?)ものが見れました。
EAPは標準構成の場合サーバはAWSのt2系インスタンスで稼働するのですが、このt2系インスタンスというのは普段はあまりCPU使用率が高くなく、ここぞという時に短時間であれば高CPU使用率もこなせるというWebサーバに向いたインスタンスなんですね。
で、JMeterでもりもりと負荷をかけていたところ急にレスポンスが悪くなり、sarコマンドで見ていたサーバリソースに見慣れない物が。
まぁ、タイトルで書いてしまってるんですが、こんな感じですね。
09:09:04 AM CPU %user %nice %system %iowait %steal %idle 09:09:05 AM all 32.35 0.00 0.00 0.00 67.65 0.00 09:09:06 AM all 32.78 0.00 0.00 0.00 67.22 0.00 09:09:07 AM all 32.79 0.00 0.00 0.00 67.21 0.00 09:09:08 AM all 32.50 0.00 0.42 0.00 67.08 0.00 09:09:09 AM all 32.64 0.00 0.00 0.00 67.36 0.00 09:09:10 AM all 32.92 0.00 0.00 0.00 67.08 0.00 09:09:11 AM all 32.35 0.00 0.00 0.00 67.65 0.00 09:09:12 AM all 32.78 0.00 0.00 0.00 67.22 0.00 09:09:13 AM all 32.77 0.00 0.00 0.00 67.23 0.00 09:09:14 AM all 32.50 0.00 0.00 0.00 67.50 0.00 09:09:15 AM all 32.92 0.00 0.00 0.00 67.08 0.00 09:09:16 AM all 32.50 0.00 0.00 0.00 67.50 0.00 09:09:17 AM all 32.92 0.00 0.00 0.00 67.08 0.00
普段負荷テストをする際には主に%user
、%system
、%iowait
辺りしか気にしてなかったのですが、ここに来て急に%steal
というところが上昇しました。
これ、「ここぞという時」が長く続きすぎたせいで「頑張れなくなった分」なんですね。
具体的に言うとインスタンスサイズごとに決められた「ベースラインパフォーマンス」から「バースト」しすぎて「CPUクレジット」を使い切った状態になります。
はい、綺麗にすこーんと使い切っております。
で、これの困ったところはAWSのCloudWatch等でCPU使用率だけ見ていると気が付かないって事なんですね。
時間軸がCPUクレジットと違いますが、以下の画像を見てください。
最初はCPUを100%使い切れているのですが、その後は70%くらいまでしか使えていません。
この時点でCPUクレジットをほぼ使い切ってしまい、最大値までバーストできなくなってしまっている状態です。
つまりCloudWatch等のCPUリソースしか見ていないと、「CPUにはまだまだ余裕があるのにレスポンスが悪い」ように見えてしまうということになります。
こんな感じでCPU使用率とCPUクレジットの残高を同時に見るようにしておくと良いですね。
グラフを見るとバーストしすぎて残高がゼロになっていく様が良くわかりますね・・・。
t2系インスタンスで負荷テストをする際にはCPUクレジットの残高も意識する必要があるというお話でした。
マンガとアニメとゲームから錬成された宇宙大好きエンジニア。 軌道エレベーターで行ける静止軌道上のコロニーに住まいを移し、ゲームやってマンガ読んでアニメ見て爆睡、ゲームやってマンガ読んでアニメ見て爆睡、という生活を夢見ながら今日もコードを書き続けるのだった。
TAG
- Android
- AWS
- Bitrise
- CodePipeline
- Firebase
- HTML
- iOS
- IoT
- JavaScript
- KPI
- Linux
- Mac
- Memcached
- MGRe
- MGReのゆるガチエンジニアブログ
- MySQL
- PHP
- PICK UP
- PR
- Python
- Ruby
- Ruby on Rails
- SEO
- Swift
- TIPS
- UI/UX
- VirtualBox
- Wantedly
- Windows
- アクセス解析
- イベントレポート
- エンジニアブログ
- ガジェット
- カスタマーサクセス
- サーバ技術
- サービス
- セキュリティ
- セミナー・展示会
- テクノロジー
- デザイン
- プレスリリース
- マーケティング施策
- マネジメント
- ラボ
- リーンスタートアップ
- 企画
- 会社紹介
- 会社紹介資料
- 勉強会
- 実績紹介
- 拡張性
- 採用
- 日常
- 書籍紹介
- 歓迎会
- 社内イベント
- 社員インタビュー
- 社長ブログ
- 視察
- 開発環境