![与 SQL Server 2008 R2 数据库服务器的连接速度很慢](https://linux22.com/image/634028/%E4%B8%8E%20SQL%20Server%202008%20R2%20%E6%95%B0%E6%8D%AE%E5%BA%93%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E8%BF%9E%E6%8E%A5%E9%80%9F%E5%BA%A6%E5%BE%88%E6%85%A2.png)
数据库服务器是在 Windows Server 2012 上运行 SQL Server 2008 R2 的虚拟机,分配了 24GB RAM 和 2TB 磁盘空间。
总体而言,数据库连接非常慢,突出的一点是,通过 SSMS 连接到数据库服务器需要 5-10 秒。
在其他功能较弱的服务器上,则需要 1-2 秒。
从技术上来说,该虚拟机比其他机器强大得多,但与服务器的连接速度太慢。
因此,我猜测该问题与网络有关,但是有什么线索告诉我应该从哪里查找呢?
谢谢!
答案1
您提到连接需要很长时间 - 一旦建立连接,操作/查询是否会以正常速度进行?如果只是建立速度很慢的连接,但您可以以正常速率接收结果集,我会确保没有身份验证问题,例如该站点未正确定义数据库服务器并且它正在查询远程位置的 DC,或者它没有使用适当的 DNS 服务器。
如果建立连接后操作很慢,您需要开始排除故障以查找新服务器性能不佳的原因。
在您说服务器 A 比服务器 B 更好、相当或更差之前,您确实需要有一个基准。
例如 - 对于我的所有数据库服务器,我运行一组 SQL IO(http://www.microsoft.com/en-us/download/details.aspx?id=20163) 各种读/写排列的基准测试。然后,在我安装 SQL Server 或其他任何东西之前,我会看看新平台与我之前使用的平台相比如何。保留历史记录。
网络性能也是一样 - 你可以使用 iperf 之类的工具来测量同一子网、不同子网、不同操作系统上的机器之间的原始带宽
我会先进行类似这样的基本测试,看看是否有任何突出之处。新服务器在纸面上看起来更强大并不意味着它实际上就更强大。如果这些看起来不错,那么就开始对 SQL 服务器内的实际操作进行基准测试。
虚拟机很容易受到主机上其他负载的限制。数据库服务器的存储可能位于过度利用的存储聚合中,或者 CPU 过度利用。
看看原始统计数据是否良好,然后看看它是否是特定于产品配置(在本例中为 sql server)的情况。