最佳化 Sensor 元件的網路介面設定

如果應用程式在處理網路流量時遇到網路封包遺失或效能問題,請按照這些說明進行操作。

若要減少網路封包遺失和從流量擷取檔案不完整的情況,請執行下列操作:

  1. 指定 RSS 佇列的最大數量:
    • 如果網路上的資料傳輸速率小於 1 Gbps,請將數字設定為 1。
    • 如果網路上的資料傳輸速率大於 1 Gbps,請將數字設定為 16。

    如果您的網路介面不允許將 RSS 佇列的最大數量設為 16,請將其設定為受支援的最大數量。

  2. 為網路介面配置對稱 RSS 雜湊。有關配置 RSS 雜湊的詳細資訊,請參閱網路介面卡的供應商檔案。
  3. 建立包含以下內容的 Interrupts.sh 檔案。
  4. 執行以下命令:

    sudo bash interrupts.sh <dev> <min_cpu> <max_cpu> <step>,其中

    • <dev>是您想要在核心之間分配中斷的網路介面。
    • <min_cpu>是網路介面卡中斷分配範圍內的第一個核心。
    • <max_cpu>是網路介面卡中斷分配範圍內的最後一個核心。
    • <step>是選擇下一個分配給中斷的核心的增量。

      範例:

      sudo bash interrupts.sh ens192 2 11 1

  5. 如果您使用 NVIDIA Mellanox 網路介面卡(mlx4),請透過執行下列指令來設定 RSS 佇列數和 RSS 雜湊:

    ethtool -L $dev rx 16

    ethtool -X $dev equal 16

    ethtool -X $dev hfunc xor

  6. 如果您使用的是 Intel 網路介面卡 (i40e),請設定 RSS 佇列數和 RSS 雜湊:

    rmmod i40e && modprobe i40e

    ifconfig $dev down

    ethtool -L $dev combined 16

    ethtool -K $dev rxhash on

    ethtool -K $dev ntuple on

    ifconfig $dev up

    ethtool -X $dev hkey 6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:

    5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A:6D:5A equal 16

    ethtool -A $dev rx off

    ethtool -C $dev adaptive-rx off adaptive-tx off rx-usecs 125

    ethtool -G $dev rx 1024

    ethtool -N $dev rx-flow-hash tcp4 sdfn

    ethtool -N $dev rx-flow-hash tcp6 sdfn

    ethtool -N $dev rx-flow-hash udp4 sdfn

    ethtool -N $dev rx-flow-hash udp6 sdfn

網路介面已配置。

重新啟動應用程式後,您必須按照說明重新配置網路介面。

頁面頂部