【问题标题】:upgrade sql server 2008r2 to 2016 performance issues将 sql server 2008r2 升级到 2016 性能问题
【发布时间】:2017-03-16 14:44:54
【问题描述】:

有人有从 SQL Server 2008R2 升级到 2016 的经验吗?

我们的系统在 2008R2 上运行良好,但升级到 2016 后,我们遇到了高 tempdb 争用。

我们看到 PAGELATCH_SH 上的大量阻塞等待 tempdb 对象。 PLE 为 99.98%。 MAXDOP 为 6(机器有 8 个核心/NUMA)。 MAXDOP 阈值为 50。

随机查询的运行时间超过 30 秒,但是当我尝试从 SSMS 运行相同的查询时,它们会在亚秒内运行,这证实了阻塞是问题所在。我们目前使用 16 个临时文件,今晚增加到 34 个。

我们今天发现 tempdb 日志的 io_stall_write_ms 超过 200,000 毫秒,我们今晚将其移至 SAN,但我不相信它可以解释页面闩锁的长时间等待。

我的想法已经走到了尽头。有人有什么建议吗?

【问题讨论】:

  • 这是在同一硬件上进行就地升级,还是您对不同硬件进行了迁移升级?
  • We see a large amount of blocking on PAGELATCH_SH waits for tempdb objects 此陈述不正确,这并不表示 tempdb 争用
  • 我们同时迁移到了新硬件。我们一直在审查硬件配置,今晚将转向裸机。
  • 是的,所有 tempdb 文件的大小都相同。同意我们超出了推荐的 8 个文件。我们从 8 个文件开始,并增加了 4 个文件,今晚增加了 8 个文件。

标签: sql-server upgrade sql-server-performance


【解决方案1】:

我们遇到了类似的问题,结果证明是新的基数估算器。尝试将数据库的兼容模式改回 2008 年并进行比较。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多