38 ネットワークパラメータ #
ネットワークのチューニングは、通信ワークロードで最適なパフォーマンスを実現するために不可欠です。performance-settings.shスクリプトには、バッファサイズ、パケット処理、およびUDPパフォーマンスを最適化するために、さまざまなカーネルネットワークパラメータを設定する`configure_network_tuning`関数が含まれています。
提供されているネットワークチューニング値は、テストおよび検証済みの例です。ただし、これらは特定のユースケース、ワークロード要件、およびハードウェア構成に合わせて調整する必要があります。
次のネットワークパラメータがスクリプトによって構成されます。
38.1 コアネットワークパラメータ #
net.core.rmem_max(1342177280バイト):最大受信ソケットバッファサイズ。このパラメータは、任意のソケットでデータを受信するために割り当て可能なメモリの最大量を設定します。net.core.wmem_max(516777216バイト):送信ソケットバッファの最大サイズ。このパラメータは、任意のソケットでデータを送信するために割り当てることができるメモリの最大量を設定します。net.core.rmem_default(10000000バイト):受信ソケットバッファのデフォルトサイズ。これは、新しいソケットでデータを受信するための初期バッファサイズです。net.core.wmem_default(10000000バイト):送信ソケットバッファのデフォルトサイズ。これは、新しいソケットでデータを送信するための初期バッファサイズです。net.core.netdev_max_backlog(416384パケット):インターフェースがカーネルの処理能力を超える速度でパケットを受信したときに、入力側でキューに入れられるパケットの最大数。この値を増やすと、トラフィックのバースト時にパケットがドロップするのを防ぐのに役立ちます。net.core.optmem_max(25165824 bytes):ソケットごとに許可される補助バッファの最大サイズ。これは、オプションメモリバッファのサイズに影響します。net.core.netdev_budget(1024パケット):1回のsoftirq実行で処理できるパケットの最大数。これは、パケット処理中のCPU使用率を制御するのに役立ちます。
38.2 UDP固有のパラメータ #
net.ipv4.udp_mem(11416320 15221760 22832640 ページ):UDPによって使用されるメモリ量(ページ単位)を制御します。3つの値は以下を表します:最小しきい値これより下では、UDPに負荷はかかりません
負荷しきい値:UDPがメモリ負荷の適用を開始します
最大しきい値UDPの最大メモリページ数
net.ipv4.udp_rmem_min(16384バイト):UDPソケットの最小受信バッファサイズ。UDP受信のベースラインバッファサイズを確保します。net.ipv4.udp_wmem_min(16384バイト):UDPソケットの最小送信バッファサイズ。UDP送信のベースラインバッファサイズを確保します。
38.3 リアルタイムスケジューリング #
kernel.sched_rt_runtime_us(-1):リアルタイムスロットリングメカニズムを無効にします。これを-1に設定すると、リアルタイムタスクに無制限のCPU時間が許可されます。これは、決定論的なレイテンシを必要とする通信ワークロードに不可欠です。
これらのパラメータは、SUSE Telco Cloud Examplesリポジトリのperformance-settings.shスクリプトを使用すると自動的に構成されます。このスクリプトは、Automated Provisioning (パートVII「完全自動化されたダイレクトネットワークプロビジョニング」)セクションで説明されているように、イメージビルドプロセスに統合する必要があります。