iperf3-Fehler und Neuübertragungen auf ESXi

iperf3-Fehler und Neuübertragungen auf ESXi

Wenn ich iperf3 ausführe, um eine 100G-Verbindung zwischen einer VMware ESXi-Box und einer TrueNAS Core-Box zu testen, sehe ich auf der ESXi-Box Folgendes:

  1. Die Meldung "iperf3: getsockopt - Funktion nicht implementiert" in jedem Intervall
  2. Eine große Anzahl von Neuübertragungen wurde im ersten und letzten Intervall gemeldet, jedoch nicht in der Übersichtsstatistik

Kann man beides ignorieren? Oder sind sie Anzeichen für tatsächliche Probleme?

Hier sind die Details....

Server-Setup:

Supermicro H12SSL-NT, EPYC 7262, 128GB RAM
TrueNAS 13.0 U3
Mellanox ConnectX-5 100G
iperf3 v3.10.1

Client-Setup:

Supermicro X9SRE-F, E5-1650 v2, 16GB RAM
ESXi 6.7.0 P08
Mellanox ConnectX-5 100G
iperf3 v3.1.6

Serverbefehl:

iperf3 -s -B 192.168.25.5 -p 5101

Client-Befehl und Ausgabe:

[root@esxi:/usr/lib/vmware/vsan/bin] ./iperf3.copy -B 192.168.25.6 -c 192.168.25.5 -i 1 -p 5101 -f g -t 10
Connecting to host 192.168.25.5, port 5101
[  4] local 192.168.25.6 port 27617 connected to 192.168.25.5 port 5101
iperf3: getsockopt - Function not implemented
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  3.08 GBytes  26.4 Gbits/sec  8638800   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   1.00-2.00   sec  3.03 GBytes  26.0 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   2.00-3.00   sec  3.11 GBytes  26.7 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   3.00-4.00   sec  2.91 GBytes  25.0 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   4.00-5.00   sec  3.01 GBytes  25.9 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   5.00-6.00   sec  3.04 GBytes  26.1 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   6.00-7.00   sec   883 MBytes  7.41 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   7.00-8.00   sec  2.99 GBytes  25.7 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   8.00-9.00   sec  1.27 GBytes  10.9 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   9.00-10.00  sec  2.75 GBytes  23.7 Gbits/sec  4286328496   0.00 Bytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  26.0 GBytes  22.4 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  26.0 GBytes  22.4 Gbits/sec                  receiver

iperf Done.

Antwort1

Diese Fehlermeldung wird erzeugt, weil die TCP-Statistiken unter „ESXi Linux“ nicht die erwartete Struktur aufweisen.

Die Funktionsüberprüfung in iperf erfolgt einfach „Ist es Linux“ (https://github.com/esnet/iperf/blob/a2ce47a97acfad3acee91a6cb4da28f9f50c19df/src/tcp_info.c#L63) und erwartet, dass die Daten über einen getsockopt-Aufruf für TCP_INFO in einer bestimmten Struktur gefunden werden.

Die Gesamtstatistiken für den Testlauf sind weiterhin gültig, da sie nicht auf der Intervallvergleichsfunktion basieren.

Es gibt Unterschiede für FreeBSD, da hier eine andere Datenstruktur zurückgegeben wird als beim Linux-Kernel. Siehehttps://github.com/esnet/iperf/pull/244für Details.

save_tcpinfo wird aufgerufen, um in jedem Intervallzeitraum Informationen zu speichern, aber es scheint, dass die Version von iperf und ESXi Linux bei Intervallstatistiken nicht gut zusammenarbeiten.

Ein Beispiel dafür, dass dieses Problem auch bei Dell in der Hauptproduktion auftritt, finden Sie hier: https://www.dell.com/support/kbdoc/en-uk/000187640/dell-emc-vxrail-vsan-hosts-network-performance-test-does-not-exceed-10-000mb-s-bandwidth-on-25gb-or-higher-network-infrastructure.

Der obige Dell-Artikel kann Ihnen auch einige Hinweise geben, wie Sie iperf manipulieren können, um die Bandbreite zu erhalten, die Sie möglicherweise erwartet haben ...

verwandte Informationen