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

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

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐