什么可能导致同一物理服务器上的两个VM之间的延迟?

时间:2013-10-26 23:54:42

标签: sql-server iis asp-classic dns virtual-machine

我在同一物理服务器(Windows Server 2012 Hyper-V)上有一个Web VM和一个数据库VM。该网站是Windows 2012服务器上的经典ASP网站,数据库位于SQL Server 2012上,也位于Windows Server 2012上。

我的colo有一个DNS服务器(不用于这些虚拟机),当它崩溃时,该站点会遇到脚本超时错误 - 页面需要180多秒才能处理。检查站点概要分析时,许多数据库调用每个都需要几秒钟。

但是,SQL配置文件没有显示任何性能问题 - 所有查询只需几毫秒即可完成。使用1,000+毫秒的过滤器显示没有匹配的结果。因此,这让我相信网络和数据库虚拟机之间的延迟。

但是,由于以下几个原因,这没有任何意义:

  • DNS服务器不承载与此站点或数据库相关的条目和条目。
  • 所有连接都使用IP,而不是域名/计算机名称。
  • 延迟在两个VM之间,但它们位于同一台服务器上,因此网络问题不应影响VM之间的通信。我通过运行Wireshark验证了这一点,没有网络到数据库的流量到达网卡。

导致这种情况的原因是什么?

修改 忘记DNS服务器确实具有IP和站点域的反向DNS。但仍然无法想象这会如何导致Web和数据库虚拟机之间的延迟。

回复评论的其他详细信息:

根据this article,MDAC版本为6.2.9200.16384。我不记得单独安装MDAC,所以我假设它是随Windows Server 2012安装的。

他们在同一个子网上。 tracert显示从Web服务器到数据库服务器的直接路由。

这是连接字符串:

Provider=SQLNCLI11;Server=[DbServerIp];Integrated Security=SSPI;Network=DBMSSOCN

这是运行VMWare,而是Windows Hyper-V。以为我之前提到过,但我现在看到我没有(现在已将其添加到上面)。

1 个答案:

答案 0 :(得分:0)

我认为以下链接可能会解决您的问题:

Read thread to the bottom to disable the NETBIOS Helper

基本上,听起来很奇怪,请尝试禁用网络适配器上的NETBIOS:

enter image description here