Wenn ich RSS (Receive Side Scaling) richtig verstehe, werden die Quell-/Ziel-IP+Port-Kombinationen eingehender UDP- und TCP-Pakete gehasht und das Paket wird unter Verwendung dieses Hash-Werts in die verfügbaren RSS-Warteschlangen verteilt. Dabei wird eine Zuordnung wie diese verwendet hashCode modulo numQueues
– die Details sind für diese Frage allerdings nicht entscheidend.
Die Pakete einer RSS-Warteschlange würden dann immer vom selben Kern verarbeitet. Anders ausgedrückt bedeutet eine Warteschlange, dass nur ein Kern die Pakete verarbeitet. Das klingt nach dem Deaktivieren von RSS, dessen Zweck es ist, die Paketverarbeitung im Kernel auf mehrere Kerne zu verteilen. Es gibt jedoch andere Möglichkeiten, RSS zu deaktivieren, im selben NIC-Einstellungsdialog oder über netsh
.
Wofür ist also diese Einstellung gut, die ich in den NIC-Einstellungen von Intel- und AT-Adaptern gesehen habe?
Übrigens, in den UDP-Paketverlusttests, die ich gerade durchführe, zeigte RSSQueues=1 ungefähr die gleichen Paketverlustraten wie das vollständige Ausschalten von RSS. Das Setzen von RSSQueues=2 ermöglichte dagegen erheblich niedrigere Paketverlustraten.