我们最近将一台运行 2008 hyper-v 的文件共享机器从本地网络移动到了我们的数据中心,现在它有时运行速度非常慢。
网络通过广域以太网连接。Ping 服务器在不到 1ms 的时间内返回,tracert 再次显示只有 1 跳,时间不到 1ms。从该位置提供的其他服务似乎不受影响(DC、Active Directory、Intranet 等)
1 1毫秒 <1毫秒 <1毫秒 192.168.XX.XX
除位置外,服务器没有其他变化,包括 IP 地址。
下载一个简单的 Excel 表可能需要长达 2 分钟。浏览共享内容也很慢。
有任何想法吗?
答案1
除了简单的 TCP 延迟之外,还有很多因素会降低 Windows 服务器的性能。如果您愿意,可以在 Excel 工作表加载缓慢的客户端上使用 Wireshark 之类的嗅探器,看看它在网络上的情况。也许您会看到数据包之间出现可疑的超时,例如数据包之间奇怪的 200ms 间隔。然后将类似的流量与未受影响的非 VMed 机器进行比较,看看它应该是什么样的。
网络驱动程序设置。当您迁移到 HyperV 时,您不可避免地会更改 NIC 驱动程序。此处的设置可能会以 ping 无法诊断或揭示的方式影响流量。这类事情最容易通过您正在执行的操作来揭示:从系统中复制文件、创建连接、浏览共享。即使它从 HyperV 的一个版本迁移到另一个版本,驱动程序版本也可能略有不同。
但是,数据包流应该能更好地解释这些问题。
答案2
需要检查以下几件事:
确定 MTU 是否小于我们对正常以太网的预期。从客户端工作站:
ping -f -l 1472
如果它返回“数据包需要分段但 DF 已设置”(或“请求超时”),请继续从 1472 开始减少,直到确定最大有效负载是多少。MTU 是最大有效负载加上 28 字节(ICMP 报头为 8 字节 + IP 报头为 20 字节,普通以太网 MTU 为 1500)。
接下来,在 Wireshark 和 MS Network Monitor 3.3 中,您可以添加“帧长度”列。这将使您能够查看服务器是否正在发送超大以太网帧。为大于 1514 字节的数据包创建显示或捕获过滤器,但服务器实际上不应该发送大于 MTU 的数据包。
如果有超大帧,则这些由客户机中的网络适配器属性“Large Send Offload”和“Jumbo Packets”决定。
答案3
已经提出了一些值得研究的好建议。我遇到的另一个常见问题是 TCP Chimney 卸载,尤其是 Broadcom NIC。尝试禁用它并测试它是否起作用。 http://support.microsoft.com/kb/951037