マルチキュー NIC は ECS インスタンスでの NIC の割り込みを異なる CPU へ転送します。 ネットワーク PPS および 帯域幅テストの結果は、1 つのキューの代わりに 2 つのキューを使うソリューションが、ネットワークパフォーマンスを 50% から 100% の間まで向上させることを示しています。
マルチキューをサポートする ECS インスタンス
「インスタンスタイプファミリー」をご参照し、マルチキューをサポートするインスタンスタイプ、およびサポートされるキューの数を検索してください。
マルチキューをサポートするイメージ
Alibaba Cloud により提供されている以下の公開イメージはマルチキューをサポートしています。
- CentOS 6.8/6.9/7.2/7.3/7.4
- Ubuntu 14.04/16.04
- Debian 8.9
- SUSE Linux Enterprise Server 12 SP1
SUSE Linux Enterprise Server 12 SP2 エディションのサポートは開発中です。 Windows 2012 R2 および Windows 2016 は招待制です。
Linux ECS インスタンス上の NIC へのマルチキューサポートの設定
CentOS 7.2 などの最新の Linux ディストリビューションの使用して、NIC へのマルチキューを設定することを推奨します。
ここでは、CentOS 7.2 を例にして、NIC へのマルチキューの設定方法を紹介します。 この例では、2 つのキューが設定され、NIC 名は "eth0" となります。
-
NIC がマルチキューをサポートするかどうかの確認のために、コマンド
ethtool -l eth0
を実行します。 -
NIC へのマルチキューを有効化するため、コマンド
ethtool -L eth0 combined 2
を実行します。 -
複数の NIC を使用する場合は、それぞれの NIC を設定します。
[root@localhost ~]# ethtool -l eth0 Channel parameters for eth0: Pre-set maximums: RX: 0 TX: 0 Other: 0 Combined: 2 # この行は最大で2つのキユーが設定できることを示しています。 現在のハードウェア設定: RX: 0 TX: 0 Other: 0 Combined: 1 # 1つのキューが現在実施されていることを示しています。 [root@localhost ~]# ethtool -L eth0 combined 2 # 現在 2 つのキューを使うために eth0 を設定しています。
-
複数の CPU コア上で NIC 割り込みの割り当てをシステムが自動的に調整するように、irqbalance サービスを有効化することを推奨します。 コマンド
systemctl start irqbalance
(この機能は、CentOS 7.2 ではデフォルトで有効化されています)を実行します。 -
マルチキュー機能を有効化後、ネットワークパフォーマンスが期待されるほど向上しない場合は、RPS 機能を有効化できます。 そのためには、以下のシェルスクリプトをご参照ください。
#!/bin/bash cpu_num=$(grep -c processor /proc/cpuinfo) quotient=$((cpu_num/8)) if [ $quotient -gt 2 ]; then quotient=2 elif [ $quotient -lt 1 ]; then quotient=1 fi for i in $(seq $quotient) do cpuset="${cpuset}f" done for rps_file in $(ls /sys/class/net/eth*/queues/rx-*/rps_cpus) do echo $cpuset > $rps_file done
Windows ECS インスタンス上の NIC へのマルチキューサポートの設定
Windows インスタンスをお使いの場合、NIC のマルチキュー機能を使うためにドライバーのインストールが必要です。
Windows システムへのドライバーのインストールは、以下の手順に従ってください。
- インストールパッケージのリクエストおよびダウンロードは、チケットを起票し、サポートセンターへお問い合わせください。
- ドライバインストールパッケージの解凍 Windows 2012/2016 システムには、"Win8/amd64" フォルダーにあるドライバーを使用します。
- NIC ドライバーの更新
- [デバイスマネージャー] の [ネットワークアダブター] をクリックします。 .
- [Red Hat VirtIO イーサネットアダプター] を右クリックし、 [ドライバーの更新] をクリックします。
- 解凍した "Win8/admin64" ディレクトリの "driver" ディレクトリを選択し、ドライバーを更新します。
- マルチキュー機能を有効にするため、ドライバーをアップグレード後に Windows システムを再起動します。