AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

CPUパフォーマンスチューニングについて

0

■事象 VM上のRHEL7.2を AWS MGNでEC2インスタンスタイプ:x1e.2xlargeに移行しましたが、 移行後のパフォーマンステストで性能劣化を検知しております。

VM上の環境とAWSを比較したところ、CPUの使用割合に差があることを確認しました。 同じ処理を実行した際に、AWSではVM上の環境と比較しCPUのsysの割合が高く usrの割合が低くなっております。  ※VM環境 :usr98%、sys2%   AWS環境:usr70%、sys30%

■問合せ内容 ・AWSでは、sysの割合が高くなるのが一般的でしょうか。 ・sysの割合が高くなると、性能劣化に繋がりますでしょうか。 ・このusr、sysの割合をチューニングすることは可能でしょうか。

■サーバー情報

========================現行機:$ lscpu========================== アーキテクチャ: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 6 On-line CPU(s) list: 0-5 コアあたりのスレッド数:1 ソケットあたりのコア数:1 Socket(s): 6 NUMAノード: 1 ベンダーID: GenuineIntel CPUファミリー: 6 モデル: 63 Model name: Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz ステッピング: 2 CPU MHz: 2299.998 BogoMIPS: 4599.99 ハイパーバイザーベンダー:VMware 仮想化タイプ: 完全仮想化 L1d キャッシュ: 32K L1i キャッシュ: 32K L2 キャッシュ: 256K L3 キャッシュ: 46080K NUMAノード 0 CPU: 0-5

========================AWS機:$ lscpu========================== アーキテクチャ: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 コアあたりのスレッド数:2 ソケットあたりのコア数:4 Socket(s): 1 NUMAノード: 1 ベンダーID: GenuineIntel CPUファミリー: 6 モデル: 63 Model name: Intel(R) Xeon(R) CPU E7-8880 v3 @ 2.30GHz ステッピング: 4 CPU MHz: 2700.164 BogoMIPS: 4600.03 ハイパーバイザーベンダー:Xen 仮想化タイプ: 完全仮想化 L1d キャッシュ: 32K L1i キャッシュ: 32K L2 キャッシュ: 256K L3 キャッシュ: 46080K NUMAノード 0 CPU: 0-7

質問済み 1ヶ月前53ビュー
1回答
0

AWSでのCPUパフォーマンスチューニングについて、以下の点を説明いたします。

  1. AWSでsysの割合が高くなる傾向について: AWSの環境で特別にsysの割合が高くなる傾向はありません。usrとsysの割合は、ハードウェア、ソフトウェア、ドライバ、またはワークロードの特性によって変化します。MGNによって移行されたインスタンスの場合、前提となる条件が異なるため単純に比較することはできません。

  2. sysの割合が高くなることと性能劣化の関係: sysが高いことによるワークロードへの直接的な影響はベンチマークなど別の方法で計測する必要があります。「性能」は環境やワークロードに依存するため、お客様ご自身の環境で実際に測定いただくことが適切な指標になります。

  3. usr、sysの割合のチューニング可能性: usr、sysの割合を直接チューニングすることは困難ですが、以下の方法でパフォーマンスを改善できる可能性があります:

a. EC2インスタンスタイプの最適化: 現在使用しているx1e.2xlargeインスタンスが、ワークロードに最適かどうか再検討してください。メモリ最適化インスタンスタイプの中でも、より新しい世代のインスタンスタイプ(例:r5、r6g)を検討することで、より良いパフォーマンスが得られる可能性があります。

b. CPU オプションの調整: EC2インスタンスでは、vCPU数やコア数、スレッド数を調整できます。例えば、同時マルチスレッディング(SMT)を無効にしたり、vCPU数を調整したりすることで、特定のワークロードに対してパフォーマンスを最適化できる場合があります。

c. カーネルパラメータの最適化: sysctl設定を調整することで、カーネルの動作を最適化し、sys時間を減らせる可能性があります。例えば、ネットワークスタックやファイルシステムに関連するパラメータを調整することが考えられます。

d. アプリケーションの最適化: アプリケーションコードやデータベースクエリの最適化、I/O操作の効率化などを行うことで、全体的なパフォーマンスを向上させ、sys時間を減らせる可能性があります。

e. モニタリングとプロファイリング: 詳細なパフォーマンスモニタリングツールを使用して、どの部分でsys時間が多く消費されているかを特定し、それに基づいて最適化を行うことが重要です。

これらの方法を組み合わせることで、全体的なパフォーマンスを改善し、usr/sys比率を最適化できる可能性があります。ただし、具体的な最適化方法はワークロードの特性に大きく依存するため、詳細な分析と段階的な調整が必要です。

Sources
Supported CPU options for Amazon EC2 instance types - Amazon Elastic Compute Cloud
Compute – Amazon EC2 Instance Types – AWS
Specify CPU options for an Amazon EC2 instance - Amazon Elastic Compute Cloud

profile picture
回答済み 1ヶ月前
AWS
サポートエンジニア
修正済み 1ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ