首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server性能指标: Lock Waits/Sec到底是什么(或者:为什么它高得不现实?)

Server性能指标: Lock Waits/Sec到底是什么(或者:为什么它高得不现实?)
EN

Database Administration用户
提问于 2020-06-24 11:46:37
回答 1查看 4.4K关注 0票数 5

我有一个生产SQL-Server,它似乎使越来越多的请求占用了非常长的时间(中位响应时间很低,平均响应时间在稳步增长)。因此,我开始监视内部状态,比如“每秒等待锁”。

生产实例返回近2.000.000 Lock Waits/Sec,测试实例仅返回~3.000 Lock Waits/Sec。(当然,这种差异并不意外,因为生产实例具有所有的负载,测试实例只需要几个devs请求来测试新版本的应用程序。)

Microsoft将Lock Waits/Sec定义为“每秒需要调用方等待的锁请求数”。

这个定义根本帮不了我,怎么可能每秒有200万个锁等待呢??到目前为止,根本没有200万DB请求?而且,这个数字在不同的负载下只以个位数波动,如果是每秒,它应该会移动得更多,不是吗?

因此,我的问题是: Lock Waits/Sec到底代表什么,我如何解释上面的数字?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2020-06-24 14:50:30

"Lock Waits/Sec“这个名字非常具有误导性。

当您从sys.dm_os_performance_counters读取此计数器时,它是一个累加值,当实例重新启动时会重置该值。请注意,这是对许多人(或可能全部?)这里的“每秒”计数器。

但是,如果您在Perfmon.exe中查看它,则该应用程序的工作是获取差异并显示值的“每秒”视图。

在您的示例中,在服务器的整个正常运行时间内有200万个锁等待可能是无害的。当然,这在很大程度上可能取决于锁上等待的时间,因此这个度量在隔离状态下不会对您有多大帮助。

对于更广泛的问题,如果您想了解这台服务器的运行情况,那么运行sp_BlitzFirst是一个很好的起点。它将对一些与性能相关的指标(包括perfmon计数器)进行5秒的示例,并给出一个好、坏和丑的总结。

票数 9
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/269797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档