因此,我在 VMWare 中的 Windows Server 2003 机器上运行了 MS SQL Server 2008,并将网络接口设置为仅主机。
当我在主机上的 apache(xampp)上运行我的“应用程序”并使用虚拟机网络接口的 IP 连接到 MS SQL 服务器时,它可以工作,但速度非常慢,仅对一两个表进行选择就需要 10 秒钟才能加载页面。
但是,如果我执行相同的操作,但在运行 MS SQL 的机器上放置 apache,完全相同的配置,则页面会在虚拟机上的浏览器和连接到虚拟机 IP 的主机上的浏览器中几乎立即加载。
为什么当 apache 和 MS SQL 位于不同的机器上时查询会花费很长时间,而当它们位于同一台机器上时则不会?在两种情况下,连接都是使用相同的用户名和密码连接到相同的 IP,并且加载的是完全相同的 php 站点...
真希望有人能有个主意……
答案1
我还会尝试更改端口号,看看是否存在瓶颈。我不是 vmware 专家,但如果我记得,即使您在主机设置上,我仍然认为它会在 NAT 处解析,因为您的计算机必须使用 dns/dhcp,这可能会导致速度缓慢的问题,请尝试查看您是否可以将其添加到您的内部网络,这样您的 nic 将使用 2 个 ip 地址。
答案2
关闭虚拟机上的 TCP/IP Chimney Offloading,然后重试。这可能会解决问题。如果失败,您可能必须在服务器上安装 wireshark,看看故障从哪里开始。