4

我在同一台物理服务器(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 验证了这一点,没有网络到数据库的流量到达 NIC。

这可能是什么原因造成的?

编辑: 忘记了 DNS 服务器确实有 IP 和站点域的反向 DNS。但仍然无法想象这将如何导致 Web 和 DB VM 之间的延迟。

回应评论的其他细节:

根据这篇文章,MDAC 版本是 6.2.9200.16384。我不记得单独安装 MDAC,所以我假设它是随 Windows Server 2012 安装的。

它们在同一个子网上。Atracert显示从 Web 服务器到 DB 服务器的直接路由。

这是连接字符串:

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

不是运行 VMWare,而是运行 Windows Hyper-V。以为我之前提到过,但现在我发现我没有(现在已经在上面添加了)。

4

1 回答 1

0

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

阅读底部的线程以禁用 NETBIOS Helper

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

在此处输入图像描述

于 2015-04-03T15:34:19.720 回答