9.3. UDP トラフィックが多いサーバーでの Generic Receive Offload 機能の無効化
高速 UDP 一括転送を使用するアプリケーションは、UDP ソケット上で UDP Generic Receive Offload (GRO) を有効にして使用することでメリットが得られます。ただし、GRO を無効にするとスループットを向上させることができます。
次の条件に該当する場合は、GRO を無効にしてください。
- アプリケーションが GRO をサポートしていないため、機能を追加できない。
TCP のスループットが重要ではない。
警告GRO を無効にすると、TCP トラフィックの受信スループットが大幅に低下します。したがって、TCP パフォーマンスが関係するホストでは GRO を無効にしないでください。
前提条件
- ホストは主に UDP トラフィックを処理している。
- アプリケーションは GRO を使用していない。
- ホストは、VXLAN などの UDP トンネルプロトコルを使用していない。
- ホストは仮想マシン (VM) やコンテナーを実行していない。
手順
オプション: NetworkManager 接続プロファイルを表示します。
# nmcli connection show NAME UUID TYPE DEVICE example f2f33f29-bb5c-3a07-9069-be72eaec3ecf ethernet enp1s0接続プロファイルで GRO サポートを無効にします。
# nmcli connection modify example ethtool.feature-gro off接続プロファイルを再度アクティベートします。
# nmcli connection up example
検証
GRO が無効になっていることを確認します。
# ethtool -k enp1s0 | grep generic-receive-offload generic-receive-offload: off- サーバー上のスループットを監視します。この設定がホスト上の他のアプリケーションにマイナスの影響を与える場合は、NetworkManager プロファイルで GRO を再度有効にします。