Microsoft SQL性能计数器更新率

时间:2017-06-21 07:57:58

标签: sql sql-server sql-server-2008

我尝试获取MSSQL数据库的TPS 我使用此查询来检索性能计数器值:

SELECT * 
FROM sys.dm_os_performance_counters
WHERE OBJECT_NAME = 'SQLServer:Databases'
AND counter_name = 'Transactions/sec'
AND instance_name = 'DB_NAME'

但更新率非常低。一分钟左右。
它还说" Transactions / sec"但是中的价值 " cntr_value"非常高并且缓慢增加(5-10 /分钟)。

object_name > SQLServer:Databases   
counter_name > Transactions/sec  
instance_name > DB_NAME   
cntr_value > 4258268   
cntr_type > 272696576

我错过了什么?

1 个答案:

答案 0 :(得分:0)

根据the documentation,您必须考虑cntr_type才能正确解释该值。在这种情况下,它是一个累积计数器。也就是说,它随着每笔交易而递增。因此,要获得事务/秒,您需要在不同时间进行两次观察,并根据观察结果的差异和时间的差异得出商数。例如,如果我在T-minus零处观察到10的值而在T-plus 5秒处观察到20的值,我将计算平均事务数/秒(TPS)为(20-10)/(5-0)= 10 / 5 = 2 TPS。