为什么HADR池中的可用性组的工作线程数会大大增加,而不是每个副本“ 通常有3–10个共享线程 ”的最低使用量?
在一种情况下,我们观察到300个线程的使用情况,其中包含3个可用性组和10个数据库。SQL Server 2014 SP1。
我们的潜在客户包括辅助副本上的备份,主副本上的高活动性,辅助副本上的报告。
AG位于VMware的数据中心中。总共16个调度程序,通常的工作线程在200个范围内。服务器上的max_dop为2。
- 3个AG,10个DB,每个4个副本-主,2个只读,1个不可读。
- 1个辅助同步,2个异步
- 大型多主机群集上的32个物理核心上有16个vcore。
- 没有多余的准备。
- 其他较小的VM 4-8内核位于同一位置,但不会按CPU
我们观察到工作线程数量激增,导致拒绝服务。我们假设工作线程归因于AG,因为只有那些工作线程才能超过限制。
在上下文中阅读的来自SQL Server Premier现场工程师博客的以下链接没有给我完整的答案:
3
您可以张贴您所看到的屏幕截图示例吗?这里似乎有些不对劲,例如您正在查询工作线程,而不是专门查询AG线程。(其他工作线程也可以超越限制,而不仅仅是AG线程。)
—
Brent Ozar
我正在寻找类似的问题。相当确定我已经将其固定在MaxDop问题上。我使用Ola Hallengreens脚本进行IndexMaintenance,并将MaxDOP设置设置为NULL。问题是,您是否可以传入查询,而这些查询会覆盖您的MaxDOP 2?
—
卡斯珀·勃兰登堡
您对此有任何解决方案吗?
—
特鲁莎