
Ich habe einen ziemlich leistungsstarken Linux-Server – Dell PowerEdge R6515 – er enthält x64-Kerne mit AMD Epyc-CPU.
Außerdem gibt es dedizierte LAN-PCI:
lspci | grep 10G
41:00.0 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ (rev 02)
41:00.1 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ (rev 02)
Wir verwenden es als VPN-Server für den Strongswan-Server. Das Problem ist, dass wir bei ~500 Mmb verschlüsseltem RX-Verkehr ziemlich viele Schnittstellenverwerfungen erleben. Prozentual gesehen verwirft die Schnittstelle etwa 30 von ~30.000 Paketen. Das macht etwa 0,1 % verworfener Pakete aus. Das ist nicht sehr kritisch, aber es gibt Raum für Verbesserungen. Die einzige netzwerkbezogene Konfiguration ist der Tunedadm-Modus, der auf Netzwerkdurchsatz eingestellt ist.
ifconfig p3p1
p3p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::faf2:1eff:fed9:dc80 prefixlen 64 scopeid 0x20<link>
ether f8:f2:1e:d9:dc:80 txqueuelen 1000 (Ethernet)
RX packets 2637785997 bytes 1724447946355 (1.5 TiB)
RX errors 0 **dropped 1342892** overruns 0 frame 0
TX packets 2943486813 bytes 1844888609689 (1.6 TiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Ich verwende Centos 7.9.
Außerdem beträgt die konstante Anzahl von Soft Interrupts ~130.000. Natürlich ist die Lastverteilung zwischen den Kernen nicht gleichmäßig, weshalb wir auf anderen Websites PowerEdge R340 verwenden, das nur 12 Kerne hat und bei Discards und sogar bei Interrupts eine bessere Leistung bietet.
Ich denke, dieses Verhalten hängt stark mit der hohen Anzahl an Kernen zusammen. Kann man da etwas verbessern? Ich sehe, dass es viele Optimierungsmöglichkeiten gibt, aber meiner persönlichen Erfahrung nach bringt fast jede Optimierung auch Nachteile mit sich.