NTD*_*DLS 4 performance sql-server dmv
我已经通过 SQL Server Profiler 验证了我的每秒请求大约为 30 个请求/秒,SSMS 活动监视器证实了这一点,但sys.dm_os_performance_counters
报告数以亿计/秒。
知道什么可能导致这种严重差异吗?
询问:
SELECT
RTrim(LTrim(object_name)) as object_name,
RTrim(LTrim(counter_name)) as counter_name,
cntr_value
FROM
sys.dm_os_performance_counters
WHERE
instance_name IN ('', '_Total')
and counter_name IN (
N'Batch Requests/sec'
, N'SQL Compilations/sec'
, N'SQL Re-Compilations/sec'
, N'Transactions/sec')
Run Code Online (Sandbox Code Playgroud)
结果:
object_name counter_name cntr_value
SQLServer:Databases Transactions/sec 191721399
SQLServer:SQL Statistics Batch Requests/sec 242955426
SQLServer:SQL Statistics SQL Compilations/sec 42048371
SQLServer:SQL Statistics SQL Re-Compilations/sec 1200947
Run Code Online (Sandbox Code Playgroud)
Eri*_*ing 12
从文档:
注意:对于每秒计数器,此值是累积的。必须通过以离散时间间隔对值进行采样来计算速率值。任何两个连续样本值之间的差值等于所用时间间隔的比率。
如果您想要一些已经进行间隔采样的东西,sp_BlitzFirst非常简洁、免费且完全公开:我是贡献者等。