In dem Whitepaper von HP zu den QLogic (fka Broadcom) NetXtreme II-Adaptern , das die von mir getestete spezifische Netzwerkkarte enthält, heißt es (Seite 7), dass die Leistung ihrer kleinen Pakete für Pakete mit bis zu 256 Bytes / Paket über 5.000.000 Paketen / Sekunde liegt.
In meinen Tests mit einer App, in der ich die gesamte Verarbeitung mit Ausnahme des reinen UDP-Empfangsteils deaktiviert habe, kann ich nur bis zu 120.000 Pakete / Sek. Übertragen. Die Pakete sind gleichmäßig auf 12 Multicast-Gruppen verteilt.
Mir ist aufgefallen, dass es einen Core gibt (von jeweils 12 Cores auf den 2 Sockets), dessen Auslastung allmählich zunimmt, wenn ich die UDP- Sendegeschwindigkeit anhebe und die maximale Auslastung bei etwa 120.000 beträgt . Aber ich weiß nicht, was dieser Kern tut und warum. Es ist kein Single-Thread-Engpass in meiner App, da es keine Rolle spielt, ob ich eine einzelne Instanz der App für alle Multicast-Gruppen oder 12 Instanzen ausführe, die jeweils 1 Multicast-Gruppe verarbeiten. Der Engpass ist also nicht meine Receiver-App.
MSI ist aktiviert (überprüft über die Ansicht "Ressourcen nach Typ" im Geräte-Manager ) und RSS ist auch in den NIC-Einstellungen mit 8 Warteschlangen aktiviert. Was klammert sich also an diesen einen Kern? Alle NIC-Offloading-Funktionen sind derzeit aktiviert, aber das Deaktivieren hat nicht geholfen.
Wo könnte der Engpass sein?
Systemdetails:
- ProLiant BL460c Gen9
- Intel Xeon E5-2670 v3 (2 x 12 Kerne)
- HP FlexFabric 10 GB 2-Port 536FLB NIC
- Windows 2012 R2
quelle
Antworten:
Das bedeutete leider nicht, dass RSS as eingesetzt wurde
zeigte:
Nach dem Laufen (übrigens ohne Neustart)
RSS begann zu funktionieren und die Last, die sich früher auf diesem einen schlechten Kern befand, wird jetzt gleichmäßig auf viele Kerne auf einem der 2 NUMA-Knoten verteilt.
Ich habe nicht überprüft, ob ich damit die beworbenen MPPS-Lasten bewältigen könnte, aber die Decke wurde ausreichend angehoben, um das zu bewerten, was ich brauchte.
quelle