ESXI 内部网络不断丢失数据包

ESXI 内部网络不断丢失数据包

我是 Vmware Esxi 的新手,正在使用 Vmware ESXI 6.0.0 服务器进行实验测试。服务器上有两个 Ubuntu 客户客户端,每个客户端有一个 VMXNET3,都位于同一个 Vswitch 上。

使用以下命令从 Ubuntu A 到 Ubuntu B 执行 IPerf3:

iperf -c Ubuntu B -u -b 80m -t 100 -V

我的所有数据包都丢失了 10%。这不是稳定的数据包丢失,因为有时会高达 50%。测试不同的速度会产生类似的结果。Esxi 监视器显示总 CPU 负载为 24%,因此似乎不是 CPU 过度使用。

我已按照这些页面尝试解决问题;


增加了 RX 缓冲区 https://www.itechlounge.net/2015/05/linux-how-to-tune-up-receive-tx-and-transmit-rx-buffers-on-network-interface/

增加了 MTU 大小。这对数据包数量较多的情况略有帮助,但数据量较少时仍会导致较高的数据包丢失率(10% 左右的数据包丢失)。 http://www.ubuntugeek.com/how-to-change-mtu-maximum-transmission-unit-of-network-interface-in-ubuntu-linux.html

更改了 Vswitch 上的 MTU 大小。 https://docs.vmware.com/en/VMware-vSphere/5.5/com.vmware.vsphere.networking.doc/GUID-40856C1E-7631-4228-A111-13A783316595.html


我还能做些什么来解决我的 VMware ESXI 设置问题?


答案1

测试升级 vmwaretools 到最新版本后,出现了同样的症状。然后我尝试升级整个 Vmware 设置。升级到 vmware esxi 6.5 后,数据包丢失问题消失了。

答案2

根据我的经验,iperf 和 UDP 在高比特率(80M 在这方面很高)下容易崩溃。

如果您想继续,还请增加 TX 缓冲区。

tcp 模式下的 Iperf3 将显示重传。如果重传为 0,则表示没有数据包丢失。

查看机器本身可以做什么;即在同一台机器上运行 iperf -c 和 -s。无论您在那里得到什么,当您实际穿越网络时都不会超出。

相关内容