Ошибки iperf3 и повторные передачи на ESXi
При запуске iperf3 для проверки соединения 100G между блоком VMware ESXi и блоком TrueNAS Core я вижу следующее на блоке ESXi:
- Сообщение «iperf3: gotockopt — функция не реализована» на каждом интервале
- Большое количество повторных передач сообщается в первом и последнем интервалах, но не в сводной статистике.
Оба эти варианта можно игнорировать? Или они указывают на реальные проблемы?
Вот подробности....
Настройка сервера:
Supermicro H12SSL-NT, EPYC 7262, 128GB RAM
TrueNAS 13.0 U3
Mellanox ConnectX-5 100G
iperf3 v3.10.1
Настройка клиента:
Supermicro X9SRE-F, E5-1650 v2, 16GB RAM
ESXi 6.7.0 P08
Mellanox ConnectX-5 100G
iperf3 v3.1.6
Команда сервера:
iperf3 -s -B 192.168.25.5 -p 5101
Клиентская команда и вывод:
[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.
1 ответ
Это сообщение об ошибке появляется из-за того, что статистика TCP не находится в ожидаемой структуре в «ESXi Linux».
Проверка функции в iperf заключается просто в том, «это Linux» ( https://github.com/esnet/iperf/blob/a2ce47a97acfad3acee91a6cb4da28f9f50c19df/src/tcp_info.c#L63), и ожидает, что данные будут найдены с помощью вызова gotockopt для TCP_INFO в определенной структуре.
Общая статистика тестового запуска по-прежнему действительна, поскольку она не зависит от функции сравнения интервалов.
Например, существуют различия для FreeBSD, которая возвращает другую структуру данных по сравнению с ядром Linux. Подробности см. на https://github.com/esnet/iperf/pull/244 .
save_tcpinfo вызывается для сохранения информации в каждом интервале, но похоже, что версия iperf и Linux ESXi не очень хорошо работают вместе для статистики интервалов.
Пример того, что у Dell также возникла эта проблема в основном производстве, можно увидеть здесь:https://www.dell.com/support/kbdoc/en-uk/000187640/dell-emc-vxrail-vsan-hosts-network- Performance- тест-не-превышает-10-000 МБ-с-пропускную способность-на-сетевой-инфраструктуре-25 ГБ или выше .
Приведенная выше статья Dell также может дать вам несколько советов о том, как манипулировать iperf, чтобы получить ожидаемую пропускную способность...