我有一个生产 SQL-Server,它似乎有越来越多的请求花费极长的时间(中值响应时间很短,平均响应时间正在稳步增长)。因此,我开始监视内部统计信息,例如“每秒锁定等待数”。
该生产实例回报近2.000.000锁等待/秒的测试实例仅〜3.000锁等待/秒。(这种差异当然并不意外,因为生产实例拥有所有负载,测试实例只有开发人员测试新版本应用程序的少数请求。)
锁定等待/秒由 Microsoft 定义为“每秒需要调用者等待的锁定请求数”。
但是,这个定义根本没有帮助我,每秒怎么会有 200 万个锁等待?到目前为止,甚至根本没有 200 万个数据库请求?此外,在负载非常不同的情况下,这个数字在一段时间内仅以个位数波动;如果是每秒,它应该移动很多,更多,不是吗?
因此我的问题是:Lock Waits/Sec 到底代表什么,我该如何解释上面的数字?
sql-server ×1