问题
VM 与不在同一主机上的另一台机器之间的网络速度最多为 11MB/s。
拓扑
事实
- ESXi5版本是5.0.0.504890
- VM 已安装最新的 Vmware Tools
- VM 正在使用 E1000 网络驱动程序
- 物理机箱采用 Win Srv 2008 R2 作为操作系统
- CrystalDiskMark 表示物理盒上的驱动器可以读取/写入 100MB/s
- vCenter 是 esx 上的另一个虚拟机
- 虚拟机和物理机都显示 1Gbps 的链接速度
- 配置 > 网络显示 vmnic0 为1000 满
- NTttcp 是 Microsoft 的一款客户端/服务器工具,用于测量纯网络吞吐量
以下是我目前所做的:
测试1:
- VM 正在运行 Filezilla FTP 服务器(默认设置,已创建一个用户帐户)
- 物理盒正在运行 Filezilla FTP 客户端(默认设置)
- 物理盒正在上传大文件到 FTP 服务器
- 传输速度(通过两台机器上的 Windows 任务管理器观察到):~11MB/s(差)
- 物理盒正在从 FTP 服务器下载该文件
- 传输速度(通过两台机器上的 Windows 任务管理器观察到):仍然约为 11MB/s(不好)
可能是磁盘性能问题吗?
测试2:
- 实体盒子正在运行
ntttcpr.exe -a 6 -m 6,0,VM_IP_ADDRESS
- 虚拟机正在运行
ntttcps.exe -a 6 -m 6,0,PHY_BOX_IP_ADDRESS
- 传输速度(通过两台机器上的 Windows 任务管理器观察到):~11MB/s(差)
可能是交换机性能问题吗?
测试3:
- 物理机箱正在运行 vSphere Client
- 我打开摘要 > 存储 > 数据存储 > 浏览数据存储...从物理盒上传文件到数据存储
- 传输速度(通过物理机上的 Windows 任务管理器观察到):~26-36MB/s(良好)
这可能是虚拟机特有的问题吗?
测试4:
- 已将 ntttcp 安装到同一 esx 服务器上的另一台虚拟机
- 使用 NTttcp 测量同一 esx 服务器上的 vms 之间的网络性能
- 传输速度(通过物理机上的 Windows 任务管理器观察到):~90-120MB/s(优秀:)
测试5:
我在同一个站点上还有另一台 esx 服务器,连接到同一个数据存储和同一个交换机。这两台 ESX 服务器都有 2 个 NIC。一个 NIC 连接到交换机,而另一个 NIC 直接连接到另一台 ESX 服务器。
- 将其中一台测试虚拟机迁移至另一台 ESX 主机
- 使用 NTttcp 测量不同 esx 服务器上的 vm 之间的网络性能
- 传输速度(通过物理机上的 Windows 任务管理器观察到):~11MB/s(差)
虽然我知道这些:
他们没有帮助(或者我一定错过了什么)
答案1
11Mb/s 太接近 100Mbps,不可能只是巧合。很明显,你的某个网络端口有问题,要么是交换机上的,要么是你的某个服务器的 NIC 上的,没有设置为 1Gbps/全双工。这一点毫无疑问。问题是哪一个。
确保所有 NIC 都设置为 1Gbps/全双工,并且所有服务器和存储设备(交换机和路由器)之间的所有网络设备的每个端口也设置为 1Gbps/全双工。
答案2
当我在物理机箱和笔记本电脑之间放置一条交叉电缆并见证了出色的速度,然后在它们之间放置一个交换机时,速度仍然很快,然后将 IP 地址从 192.168.0.x 更改为我为物理机箱和 VM 设置的真实 IP 地址时,我突然想到,虽然 ESX 和物理机箱彼此之间只是通过交换机,但它们不同的 IP 子网决定它们之间共享的所有流量都必须通过也连接到同一交换机的 ISP 路由器。
因此,由于子网不同,流量经过我的 ISP 的盒子,将其降低到 100Mbps!