Performancemessung 10GBit-Karte nicht gut... Warum?

Started by white_rabbit, March 20, 2019, 02:44:09 PM

Previous topic - Next topic
March 20, 2019, 02:44:09 PM Last Edit: March 20, 2019, 02:59:00 PM by white_rabbit
Hallo.
Wir haben neuerdings folgendes Setup als Teststrecke aufgebaut:

Rechner 1 (OPNSense FW)  <<-->> 10 GBit Switch (Cisco SG350X) <<-->> Rechner 2 (Proxmox)

Beide Rechner verfügen über eine intel 10 GBit NIC und sind mit LWL zum Switch verbunden.

Nun habe ich die Performance der 10 Gbit-Strecke mit iperf3 gemessen und festgestellt, dass OPNSense die 10 GBit ziemlich ausbremst. Ich komme nur auf 3 GBit Durchsatz. Das kann ich deshalb so genau an OPNSense festmachen, da ich anschließend auf diesem Rechner ein GRML vom USB-Stick gebootet habe, um in Ausschlussprinzip arbeiten zu können. Mit GRML kamen wie erhofft sofort 9.x GBit Durchsatz bei der iperf3-Messung heraus.

Nun habe ich bereits auf dem Switch Jumbo Frames zugelassen und auch schon mit ifconfig ethX mtu 9000 up auf beiden Rechnern experimentiert. Es bleibt aber immer dabei: Sobald ich mit OPNSense messe, erhalte ich 3 GBit -- mit anderen Distributionen (Ubuntu, Knoppix, GRML, Proxmox) komme ich auf 10 GBit. Die Hardware ist demzufolge also in Ordnung.
Die Frage ist nun: Woran liegt das bzw woran muss ich drehen, damit auch FreeBSD die volle Bandbreite zur Verfügung stellen kann?
Danke für einen guten Tipp.


Afaik hat iperf3 unter der OPNsense ein Performanceproblem (hier im Forum gepesen, evtl. weiss jemand mehr). Das klassische iperf sollte bessere Resultate geben.

March 21, 2019, 06:53:16 AM #2 Last Edit: March 21, 2019, 07:23:59 AM by white_rabbit
hmm .. und woher weiß man dann, dass die Ergebnisse vom klasssichen iperf valide sind? ("Wer misst, misst Mist"?)
Es gibt ja auch noch netperf ... finde ich aber unter "pkg search" nicht. Gibt's das für FreeBSD nicht?

Du solltest immer den Traffic DURCH die Firewall messen, also hinter die OPNsense ein Gerät mit 10G was den Traffic misst. Mit guter Hardware (Intel etc.) sollten die Werte auch bei älteren Geräten locker 10G schaffen.

https://www.routerperformance.net/routers/nexcom-nsa/thomas-krenn-ri1102d/

Quote
Du solltest immer den Traffic DURCH die Firewall messen, also hinter die OPNsense ein Gerät mit 10G was den Traffic misst.
... und wenn du mir jetzt noch verrätst, wie ich das auf der Konsole mache?
Ich habe einfach iperf3 nachinstalliert und direkt die IP vom anderen Rechner verwendet. Ob das nun über die FW läuft oder nicht, kann ich so nicht sehen, oder??

Also, vor und hinter der OPNsense ein Linuxsystem, iperf installieren und auf dem einen als Server und auf dem anderen als Client starten. In dem Guide steht auch wie auf beiden der Befehl sein muss.

Ok, dann messe ich zwar anders als ich bisher gedacht habe, aber dein Vorschlag geht in die gleiche Richtung, wie es auch hier steht:
https://docs.netgate.com/pfsense/en/latest/packages/iperf-package.html

Quote
"iperf ... is NOT a suitable way of testing firewall throughput, as there is a significant difference between performance of traffic initiated or terminated on the firewall and traffic traversing the firewall."

Richtig das steht da aus gutem Grund ;) Denn iperf Clients auf dem Router/Firewall selbst verhalten sich durch Optimierungen meistens anders als reine Clients oder Server, die genau dafür optimiert sind. Darum immer "über die Firewall hinweg" messen, nicht auf der Firewall terminieren - egal ob mit oder ohne Filter getestet :)
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Ok, dann teste ich es nochmal auf die andere Art & Weise.
Ich hatte schon befüchtet, dass ich tief ins System eingreifen muss;  /boot/loader.conf  --> net.inet.tcp. Einstellungen, aber das kann ich mir dann hoffentlich sparen?!

Es sind übrigens ganz normale Intel X520-DA2 10GBE Karten. Die dürften ja voll unterstützt werden??