SQL Server 在生产环境中运行缓慢

Lie*_*oen 6 performance sql-server

我在客户的生产环境中有一个奇怪的问题。除了 SQL 服务器在虚拟服务器上运行之外,我无法提供有关基础架构的任何详细信息。数据、日志和文件流文件在另一台存储服务器上(数据和文件流一起并在单独的服务器上登录)。

在我们的本地测试环境中,有一个特定的查询以这些持续时间执行:

  • 首先我们清除缓存
  • 300 毫秒(第一次需要更长的时间,但从那时起它就被缓存了。)
  • 20ms
  • 15ms
  • 17ms

在客户的生产环境中,SQL Server 更强大,这些是持续时间(我没有清除缓存的权限。明天试试)。

  • 2500ms
  • 2600ms
  • 2400ms

客户生产环境中的服务器功能更强大,但它们确实有虚拟服务器(我们没有)。

可能是什么原因...

  • 内存不足?
  • 碎片化?
  • 物理存储?

你会如何解决这个性能问题?

编辑:

有人问我数据集是否相等,并且确实如此。我在我们的环境中恢复了他们的数据库。确实,这是我第一眼看到的东西。(@Everyone:我添加了编辑,因为这将是许多人会想到的第一件事)。

Rem*_*anu 9

原因可能是内存不足、碎片、物理存储,以及并行度、争用、不同表大小、不同统计信息、不同SQL补丁级别等设置不同等等。

所以真正的问题不是什么是错的,而是如何确定什么是错的。我通常的建议,在我的经验中基本上不是这样那样的建议是使用等待和队列方法。这是一种相当方法的方法,最终将确定罪魁祸首,然后您将获得解决方案。

  • +1 等待和队列白皮书 (4认同)