欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

sqlserver中关于WINDOWS性能计数器的介绍

程序员文章站 2023-11-26 20:03:52
processer : %processor time 处理器忙于执行执行任务的时间量 阀值<80%正常状况,<50%状况良,<30%状况优,持续>...

processer :

%processor time 处理器忙于执行执行任务的时间量 阀值<80%正常状况,<50%状况良,<30%状况优,持续>80%,则cpu有瓶颈或内存不足或出现了低的查询计划重用率,未优化的语句等等。
sqlserver:buffer manager
buffer cache hit ratio 缓冲区调整缓冲命中率,阀值>97%正常状况,推荐>99%,如果此项低于97%则内存不足。
checkpoint pages/sec sql检查点,此项值由缓冲池中页的生存周期及惰性写入决定,如果页的生命周期短,那么惰性写入器就会频繁运行,因此会频繁运行检查点,增加了资源的开销。所有页的生命周期越长,资
源消耗越小。
page life expectancy 页生存周期,此生存周期越长越好,最少高于300秒,如果周期太短,页面频繁从硬盘与内存中交互,会增加大量的物理i/o,浪费资源。
lazy writes/sec 惰性写入 惰性写入器会把一段时间没有写入到硬盘的脏页,成批的写入到硬盘,降低频繁运行检查点所占用的资源。

sqlserver plan cache:

cache hit ratio 缓冲池计划缓冲命中率,调整缓冲命中次数与查找次数的比率,也就是计划重用率,如果低于70%则,重用率低,会增加资源开销。

参数:
extended stored procedures 扩展存储过程重用率,一般都是100%
object plans 对象计划,创建存储过程,函数及触发器产生的计划,一般情况在90%以上,大于95%最好。
sql plans sql临时语句计划 sql server自动为临时的t-sql语句创建的临时计划,并把它保存在缓冲池中,如果再有相同的语句,则从缓冲池调用,不用重新编译,降低了资源消耗。
temporary tables & table variables 与临时表和表变量相关的缓存信息,由于临时表的重用率低,表变量过后马上就不能使用了,这个值灰常低。

sqlserver sql statistics:

batch requests/sec 批量请求,每秒收到sql的批处理请求,此数值受(i/o,用户数据,高速缓存大小,请求复杂程序)而定,数值越高表明吞吐量越好。
sql compilations/sec 每秒sql的编译次数,当用户达到稳定状态时,该值应该稳定,如果不稳定,就是大量的用户,连接与断开,资源浪费。
sql re-compilations/sec 每秒语句重新编译的次数,一般情况下,此值越小,越小,如果值偏大,就表明sql语句的重用性不好,请优化sql语句,多次重编译会加重cpu负担。

system:

context switches/sec cpu线程的上下文切换,不同的用户,不同的应用程序,都要使用到线程,如果大量用户使用大量的线程,那么就需要对线程进行频繁的上下文切换,一般来说每秒上下文切换次数,低于5000x
操作系统物理处理个数,如果超过,则cpu出现瓶颈状态。
processor queue length 侍cpu处理任务的队列长度,一般来说,5x物理处理器个数,推荐处理器个数x2