2.9. ネットワーク決定のヒント
TCP (Transmission Control Protocol)
TCP はレイテンシーに大きな影響を及ぼす可能性があります。TCP は、効率を高め、輻輳を制御し、信頼できる配信を保証するためにレイテンシーを追加します。チューニング時には、以下の点を考慮してください。
- 順番どおりの配信が必要か。
- パケットロスに対して保護する必要があるか。複数回パケットを送信すると遅延が発生する可能性があります。
- TCP を使用する必要がある場合は、ソケットで TCP_NODELAY を使用して Nagle バッファリングアルゴリズムを無効にすることを検討してください。Nagle アルゴリズムはすべてを一度に送信するために小さな送信パケットを収集するので、レイテンシーに悪影響を及ぼす可能性があります。
ネットワークチューニング
ネットワークを調整するためのツールは多数あります。以下は、より便利なものになります。
- コアの割り込み
- 割り込みの量を減らすには、パケットを収集し、パケットのコレクションに対して単一の割り込みが生成されます。スループットが最優先である大容量のデータを転送するシステムでは、デフォルト値を使用するかコアレシーを増やし、スループットを高め、CPU にアクセスする割り込みの数を減らすことができます。ネットワークへの迅速な応答を必要とするシステムでは、コアレスを削減または無効化することが推奨されます。有効にするには、ethtool コマンドで -C (--coalesce) オプションを使用します。
- 輻輳
- 多くの場合、I/O スイッチは、フルバッファーの結果としてネットワークデータがビルドされるバックプレッシングの対象になることがあります。一時停止パラメーターを変更し、ネットワークの輻輳を回避するには、ethtool コマンドで -A (--pause) オプションを使用します。
- Infiniband (IB)
- InfiniBand は多くの場合、帯域幅を高め、サービスやフェイルオーバーの品質を提供するために使用される通信アーキテクチャーのタイプです。Remote Direct Memory Access (RDMA) 機能によるレイテンシーを改善するためにも使用できます。
- ネットワークプロトコルの統計
- ネットワークトラフィックを監視するには、netstat コマンドで -s (--statistics) オプションを使用します。
「TCP パフォーマンスの急増減」 および 「TCP の遅延 ACK タイムアウトの削減」 も参照してください。
関連する man ページ
詳細は、以下の man ページは本セクションに記載の情報に関連しています。
- ethtool(8)
- netstat(8)