您好,欢迎访问一九零五行业门户网

SQL Server 2012:非常实用的Batch Resp Statistics

sql server 2012引入了一个新的performance counter, batch resp statistics。这个counter的目的是to track sql batch response times。这个counter下面有好几档如下: 具体就是: batches =000000ms 000001ms batches =000001ms 000002ms batches =000002m
sql server 2012引入了一个新的performance counter, batch resp statistics。这个counter的目的是“to track sql batch response times”。这个counter下面有好几档如下:
具体就是:
batches >=000000ms &
batches >=000001ms &
batches >=000002ms &
batches >=000005ms &
batches >=000010ms &
batches >=000020ms &
batches >=000050ms &
batches >=000100ms &
batches >=000200ms &
batches >=000500ms &
batches >=001000ms &
batches >=002000ms &
batches >=005000ms &
batches >=010000ms &
batches >=020000ms &
batches >=050000ms &
batches >=100000ms                                                                                                             
这些档的含义是怎样的呢?假定对于batches >=010000ms &
1)    如果batch (也就是一个request)的执行时间是10000ms 到20000ms之间的则计数
2)    cpu time 和elapsed time 的含义和sys.dm_exec_requests 里面的含义一致。 cpu time 就是 “请求所使用的 cpu 时间”, elapsed time 就是“请求到达后经过的总时间”。 简单说,cpu time就是batch request的cpu指令真正执行的时间,而elapsed time 是指cpu时间加上等待的时间。比如当batch等待磁盘i/o,等待锁(就是被阻塞了)的时候,elapsed time就一般比cpu time 长。这里注意的是因为并发执行的关系,elapsed time 有时候并不会就恒等于cpu time 加上等待时间,而是应该有些出入。
3)    cpu time:requests 指cpu time 在这个范围内的batch request的总数。cpu time:total(ms)指cpu time 在这个范围内的时间总和。elapsed time:request 和 elapsed time:requests 的含义类似。
4)     这些counter的值是累计的。也就是说,会一直增加,直到sql server 重启。
其它类似信息

推荐信息