使用している Amazon EC2 Linux インスタンスのパフォーマンスを改善したいと思っています。そのためにはどのような方法がありますか。

Amazon EC2 Linux インスタンスのパフォーマンスを改善するには、以下の推奨事項を試してみてください。

ハードウェア仮想マシン (HVM) Amazon Machine Image (AMI)

パフォーマンスを改善するには、HVM AMI を使用することを推奨します。また、HVM AMI は、より新しいインスタンスクラス (たとえば、M5、M4、および R4) や 拡張ネットワーキングのような EC2 機能も提供しています。詳細については、「Linux AMI 仮想化タイプ」を参照してください。

拡張ネットワーキング

パフォーマンスを改善するには、サポートされているインスタンスタイプで追加料金なしで利用できる、拡張ネットワークを使用することができます。拡張ネットワークでは、単一のルート I/O の仮想化 (SR-IOV) を使用します。これは、従来式の仮想化ネットワークインターフェイスと比較して、より高い I/O パフォーマンスと低い CPU 使用率を実現する、デバイス仮想化方式です。サポートされているインスタンスタイプと使用方法については、「Linux の拡張ネットワーキング」および「Windows の拡張ネットワーキング」を参照してください。

拡張ネットワーキングを有効にするには、インスタンスは HVM AMI を使用していなければならず、Amazon Virtual Private Cloud (Amazon VPC) 内で起動されなければなりません。

注記: Elastic Network Adapter (ENA) の更新されたバージョンまたは Intel 82599 Virtual Function (VF) インターフェイスドライバーを使用することを推奨します。

Non-volatile memory express (NVMe) ボリューム

ストレージに関しては、NVMe インスタンスストアボリュームを使用すれば、パフォーマンスが向上するよう支援できます。カーネルのバージョンおよびインスタンスタイプによっては、NVMe ボリュームでのパフォーマンス向上が、ワークロードに応じて変化することもあります。詳細については、「Amazon EBS と NVMe」および「SSD インスタンスストアボリューム」を参照してください。

注記: 特定のワークロードに対して Kyber I/O スケジューラを使用する場合には、Amazon EC2 Linux インスタンスがカーネル 4.12 以降を実行していることを確認してください。

HugePages

HugePages は、大量のメモリアクセスを実行するワークロードのパフォーマンスを改善することができます。ハイパフォーマンスコンピューティング (HPC) に関するベストプラクティスは、「High-Performance Computing Lens」を参照してください。

最新のカーネルバージョンとインスタンスタイプ

パフォーマンス向上のためには、最新のカーネルバージョンとインスタンスタイプを使用することを強く推奨します。M3、C3、または他の古いインスタンスタイプを使用している場合には、M4 または同様のインスタンスタイプに移行すること、そしてオペレーティングシステムで利用可能な最新のカーネルバージョンを使用することを考慮してください。詳細については、「Amazon EC2 インスタンスタイプ」を参照してください。

ジャンボフレーム

可能な場合には、小さなパケットは避けてください。ワークロードがサポートしている場合には、ジャンボフレームで、より大きなパケットを使用してください。詳細については、「EC2 インスタンスの最大ネットワーク送信単位 (MTU)」を参照してください。

Data Plane Development Kit (DPDK)

ネットワーキングをカーネルの外に出し、ユーザースペースに移行するために、DPDK ベースのソフトウェアのバージョンを使用すれば、パフォーマンス上の利点が得られる場合があります。DPDK を使用する場合には、DPDK のサポートを含むソフトウェアの更新が必要となることがあります。

Process Context Identifier (PCID)

使用しているインスタンスのオペレーティングシステムでカーネルページテーブルアイソレーション (KPTI) が有効になっている場合には、PCID も有効にすれば CPU のパフォーマンスを改善できる場合があります。カーネルとインスタンスタイプの両方が PCID をサポートしていることを確認する必要があります。

インスタンスのスケーリング

パフォーマンスを改善するために、インスタンスのサイズを大きくする、またはインスタンスの数を増やすことを考慮してください。

タイマー

tsc タイマーは一般に、ほとんどのインスタンスで利用可能なもののうち、最も性能のよいタイマーです。xen タイマーを使用している場合には、tsc タイマーに移行すればパフォーマンスの向上を見られる場合があります。jiffies タイマーを使用している古いオペレーティングシステムを使用している場合には、tsc を優先的にサポートしている、または最小でも xen をサポートしているオペレーティングシステムに移行することを考慮してください。

注記: M1 や M2 のような、古いインスタンスタイプでは、エミュレーションによる tsc タイマーを提供しています。よりよい tsc タイマーのパフォーマンスを得るために、新しいインスタンスタイプに移行することを考慮してください。


このページは役に立ちましたか? はい | いいえ

AWS サポートナリッジセンターに戻る

サポートが必要ですか?AWS サポートセンターをご覧ください。

公開日: 2018 年 1 月 12 日