我试图了解我们的数据库 (SQL 2008) 的潜在性能问题,特别是一个性能计数器 SQLServer:Latches\Total Latch Wait Time Total Latch Wait Time (ms)。我们看到数据库响应时间变慢,我可以与之匹配的唯一相关峰值是总锁存等待时间和锁存等待/秒的峰值。我没有看到磁盘 IO、CPU 使用率或内存方面存在任何特定瓶颈。
SQLServer 闩锁的常见解释是它是一个轻量级锁,但我试图更详细地了解闩锁是什么、它与锁有何不同以及我所看到的大量闩锁可能是什么的一个指标。
对于专业 DBA 来说,这可能是一个非常基本的错误...但这就是我在高锁存问题中发现的,并且该线程在搜索结果中排名非常高。我想我应该分享我们的一点点,它可能会帮助别人。
在使用 NUMA 内存架构的新型双/多处理器服务器上,最大并行度应设置为每个处理器的实际核心数。在我们的示例中,我们有双 Xenon,每个 Xenon 具有 4 个核心,并且通过超线程,它对 SQL 显示为 16 个逻辑处理器。
将此值从默认的 0 锁定到 4 会立即降低某些查询的高锁存器。
在某些情况下,我们的锁存器运行时间超过 1000 毫秒,甚至高达 30,000 毫秒。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)