EC2 Windows インスタンスのパフォーマンスが遅いのはなぜですか?

所要時間1分
0

Amazon Elastic Compute Cloud (Amazon EC2) ウィンドウインスタンスのパフォーマンスに何が影響しているのかを調べたいです。

簡単な説明

EC2 インスタンスの全体的なパフォーマンスに影響する要因は次のとおりです。

  • CPU 使用率が高い
  • メモリ使用量の増加
  • Amazon Elastic Block Store (Amazon EBS) ボリューム I/O
  • AWS ドライバーが古い
  • 予期しないネットワークの入出力
  • バーストクレジットが枯渇した

解決方法

EC2 インスタンスタイプを決定する

EC2 インスタンスタイプを特定して、パフォーマンスの低いインスタンスタイプのせいでそのインスタンスのパフォーマンスが抑制されているかのどうかを判断します。

T2 もしくは T3 インスタンスの CPU 使用率が高い場合は、バースト可能なパフォーマンスを無制限に設定してください。バースト可能なパフォーマンスを無制限に設定すると、インスタンスは必要な期間、高い CPU 使用率を維持します。

CPU とメモリの使用状況を監視する

Windows タスクマネージャーまたはリソースモニターを使用すれば CPU とメモリの使用率を監視することができます。この情報を使用し、どのプロセスの CPU またはメモリの使用率が予想よりも高いかを判断します。詳細については、「CPU がスロットリングされていないときに EC2 Windows インスタンスの CPU 使用率が高いことを診断する方法」を参照してください。Windows パフォーマンスモニターを使用すれば、このデータをキャプチャすることもできます。

EBS メトリクスを確認する

Amazon CloudWatch を使用すれば EBS メトリクスを確認することができます。バーストバランスメトリックスまたは IOPS CloudWatch メトリクスを見つけ、ボリュームで利用可能な I/O バストクレジットがあるかを確認します。また、ボリュームがベースラインのパフォーマンスを超えていないかも確認してください。

EC2 インスタンスに複数のアプリケーションがある場合、それらのアプリケーションはルート EBS ボリュームの IOPS をめぐって競合します。ワークロードが増えるにつれて、IOPS の需要も増加します。インスタンスのパフォーマンスを向上させるには、アプリケーションに追加の非ルート EBS ボリュームの使用を検討してください。また、ルートボリュームはオペレーティングシステムにのみ使用することを検討してください。

AWS ドライバーを更新する

古い AWS ドライバーは EC2 インスタンスのパフォーマンスに関する問題を引き起こす可能性があります。管理者の PowerShell で次のコマンドを実行して、インスタンスに現在インストールされている AWS ドライバーを確認してください。

dism /online /get-drivers /format:table | findstr Amazon

EC2 インスタンスに ena.inf、awsnvme.inf、または xenvbd.inf ドライバーがインストールされているかどうかを確認します。AWS ドライバーを最新バージョンに更新し、EC2 のパフォーマンスを監視します。

EC2 インスタンスに AWS NVMe ドライバーと ENA ドライバーが必要かどうかを、インスタンスタイプに基づいて判断します。AWS NVMe または ENA ドライバーが必要な場合は、最新のドライバーをダウンロードして EC2 インスタンスにインストールします。

T2 インスタンスを含め、サポートされているすべてのインスタンスタイプの Windows Server EC2 インスタンスの AWS PV ドライバーをアップグレードするのがベストプラクティスです。

CPU、メモリ、またはネットワークの使用率が高い場合、または接続の問題が断続的に発生する場合は、インスタンスの AWS ドライバーを更新してください。

次の Windows 組み込みツールまたは sysinternals ツールを使用して、パフォーマンスのボトルネックを特定してください。

  • タスクマネージャ
  • リソースモニター
  • パフォーマンスモニター
  • RAMMAP

ネットワークインとネットワークアウトのメトリクスを監視する

EC2 インスタンスのネットワークインとネットワークアウトをCloudWatch メトリックスを使用して計算します。ネットワークインは、すべてのネットワークインターフェースでインスタンスが受信したバイト数です。このメトリックは、単一インスタンスへの着信ネットワークトラフィックの量を識別します。ネットワークアウトメトリックは、すべてのネットワークインターフェースでインスタンスから送信されたバイト数です。このメトリックは、単一インスタンスからの発信ネットワークトラフィックの量を識別します。これらのメトリクスは、EC2 インスタンスのネットワークボトルネックの診断に役立ちます。

拡張ネットワーキングを有効にすると、帯域幅が拡大し、1 秒あたりのパケット数のパフォーマンスが向上、また一貫した低遅延を実現できます。拡張ネットワーキングを有効にするには、次の操作を行います。

  1. サポートされているインスタンスタイプについては、そのインスタンスタイプで利用できる拡張ネットワーキングメカニズムを決定してください。
  2. ENA または Intel 82599 VF インターフェイスを使用して EC2 インスタンスで拡張ネットワーキングを有効にします。

関連情報

CPU がスロットリングされているとき、T2 または T3 EC2 Windows インスタンスの CPU 使用率が高くなる問題を解決するにはどうすればいいですか?

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ