我有 2 个 Etch 虚拟机。一个是干净的 Etch r9,另一个是我们构建的服务器之一。在 EtchR9 上,网络速度为 1Gbps。但在我们的服务器构建上,我们最多只能获得 100Mbps,两个网络连接都显示它们以相同的速度、相同的驱动程序和相同的内核连接。
我可以通过以下方式测试速度(忽略预计到达时间):在清洁蚀刻时:
dd if=/dev/zero of=/tmp/zero.tmp bs=1M count=100; scp /tmp/zero.tmp fastserver:/tmp
我得到的结果是:
zero.tmp 100% 100MB 25.0MB/s 00:04
这很好,网络正在使用,但它显示从我的 ESXi 机器到另一台服务器(1Gb,一台物理机器)的速度超过了 10Mbps。
但是,从服务器构建我们得到:
zero.tmp 100% 100MB 5.6MB/s 00:18
两台服务器具有相同的内核、相同的网络驱动程序和相同的 ESXi 网络设置。发送方和接收方之间的物理链路相同。我一次又一次尝试重建我们的服务器,但网络速度一直很慢。目前我能想到的唯一解决方案是尝试使用 VMXNet3 驱动程序,但我没有成功安装它。
虽然我并不指望能立即找到解决方案。但如果您能提供任何关于可以检查或查看的地方的提示,我将不胜感激!
答案1
假设您在两个虚拟服务器上都安装了 vmware tools(当然您安装了 - 这是最佳实践) - 我会说检查您的虚拟硬件外壳,看看两个虚拟网卡是否都设置为 E1000 驱动程序(假设这里是 64 位 Linux)或灵活适配器(如果是 32 位),以确保它们都匹配。我还会检查 vSwitch,看看您是否正在进行某种负载平衡或限制。
答案2
下载的 vmware 设备 (Openfiler x64) 使用“灵活”网络驱动程序。尽管 ESXi 物理服务器拥有 1Gbps 网络,但吞吐量仅为 100 Mbps。
将设备 .vmx 文件中的网络驱动程序更改为 E1000 解决了该问题,现在我获得了 ~500Mbps(我的台式计算机无法处理更快的文件下载)。