將“RSS 隊列數”設為“1”不是毫無意義嗎?

將“RSS 隊列數”設為“1”不是毫無意義嗎?

如果我正確理解RSS(接收端縮放),傳入UDP 和TCP 封包的src/dst IP+連接埠組合將被散列,並且封包將使用該散列值分發到可用的RSS 佇列中,使用一些映射,例如hashCode modulo numQueues- 詳細資訊事實上,其中對於這個問題並不重要。

這樣,一個 RSS 佇列的資料包將始終由同一核心處理。換句話說,一個隊列意味著只有一個核心處理資料包。這聽起來像是禁用 RSS,其目的是將核心中的資料包處理分發到多個核心。但還有其他方法可以禁用 RSS,在同一 NIC 設定對話框中或透過netsh.

那麼我在 Intel 和 AT 適配器的 NIC 設定中看到的該設定有什麼用呢?

Fwiw,在我現在正在執行的 UDP 封包遺失測試中,RSSQueues=1 顯示的封包遺失率與完全關閉 RSS 大致相同。相反,設定 RSSQueues=2 可顯著降低資料包遺失率。

相關內容