AWSのT系インスタンスでCPUクレジットを使い切ってみる

AWSのT系インスタンスは、普通のインスタンスとは少し異なります、癖があります。そのため、

  • 外部要因で不可状況が予想しずらい
  • 一般公開され性能制限した時のユーザーイメージが悪い場合

は、T系インスタンスは避けた方が良いかもしれません。安いんですけどね。
もしも使う使う場合、その特性を理解したうえで使う必要があります。

前提条件・環境

  • t2.mediumインスタンス利用
  • Windows Server 2016

で、CPUに100%負荷をかけつづけ、CPUクレジットを使い切ってみました。
そして、CPUクレジット特性のイメージを体験・体感してみました。
Windows OS上ではどのように見え、どのようにCPUクレジットが使い切ったことがわかるのでしょうか?

結論、OS上CPUは100%ですが、実際はAWS上の裏でCPU性能が制限されている

AWSのCPUクレジットを使い切った状態の、Windows OS上のタスクマネージャーCPU使用率です。
CPUクレジットを使い切っていますが、Windows OS上ではCPU100%のままです。そして、「応答なし」になりやすくなります、、、

つまり、Windows OS上ではAWSのCPUクレジットを使い切ったことは明確にわかりませんが、「応答なし」になりやすいです。

リソースモニターはよくよく見るとCPUが100%で張り付いているとは言い難い

タスクマネージャーではCPUは100%なのですが、リソースモニターではCPUが100%に張り付いているようには見えませんでした。
この状態が、CPUクレジットが使い切られた状態ですが、やはり、Windows OS上ではCPUクレジットが使い切られた状態なのか、普通の状態なのか区別がつかないですね。

CPUを 100%使用したい状態なのに、CPUが100%使用できない状態ですね。

CPUクレジットが無くなる・クレジットが使い切られたのはCPUCreditBalanceでわかる!AWS CloudWatchメトリクス

CPUクレジットが使い切られたのは、やはりAWSコンソール上でしかわからないですね。
AWSコンソール上の、CloudWatchのCPUCreditBalanceメトリクスを見ますとわかります。
CPUクレジットが無くなると CPUCreditBalance が0になります。(オレンジ色グラフ)

CPUクレジットが使用しきられると、AWS上でCPU性能は30%に制限されていることがわかります。(緑色グラフ)
上記のグラフの間は(15:45まで)、Windows OS上ではずっとCPUが100%に負荷をかけ続けた状態です。

今回、Windows OSに負荷をかけた状態はCPUストレスツールを使い作りました。

CPUへテスト的に負荷をかけるストレスツールには、マイクロソフトサイトからダウンロードできる、CPUStress.exeを利用しました。

CPUStress - Windows Sysinternals | Microsoft Docs

CPU以外にも負荷テストをしたい時に利用できるWindowsストレスツールは以下に紹介されています。

Tools To Simulate CPU / Memory / Disk Load – The Way I See It

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です