Processor:%Processor Time大于70%有问题
System:Processor Queue Length大于处理器数量的2倍有问题
Memory:Pages/Sec每秒从内存中分配磁盘或者从磁盘分页到内存的页数。不能一直大于1。
Memory:Available Bytes可用内存数,大于50MB。
sql Server:Buffermanger:Buffer Cache Hit Ratio在缓冲区找到数据而不是去磁盘读取的时间百分比。低于90%说明有IO压力。越大越好。
sql Server:Buffermanger:Page Life Expectancy数据在缓冲区停留而不被数据操作引用的时间,最小约300秒,越大越好。
Physicaldisk:Avg.disk Queue Length应该小于物理磁盘数乘以2.
Physicaldisk:% disk Time不能一直超过60%
sql ServerAccessMethods:Page Splits/sec页上没有空间后,插入就会产生分页操作。越大越不好。
The list is right,and my suggestion is that you need to get your baselines for your servers.
对象 |
计数器 |
描述 |
值 |
Current disk Queue Length
|
未完成磁盘请求的数量 |
|
|
%disk Time |
磁盘繁忙时间的百分比 |
平均值<85% |
|
Avg.disk Sec/Read |
从磁盘读取的平均时间(单位毫秒) |
平均值<10ms |
|
Avg.disk Sec/Write |
磁盘写入的平均时间(单位毫秒) |
平均值<10ms |
对象(实例) |
计数器 |
描述 |
值 |
Memory |
Available Bytes |
空闲物理内存 |
与系统相关 |
Pages/esc |
平均值<50 |
||
|
|
|
|
sqlServer:Buffer Manager |
Buffer cache hit ratio |
由缓冲区提供的请求百分比 |
平均值>90 |
|
Page Life Expectancy |
页在缓冲中花费的时间 |
平均值>300 |
|
Lazy writes/sec |
从缓冲区中丢弃的过期页面 |
平均值<20 |
sqlServer:Memory |
Manager Memory Grants Pending |
等待授予内存的进程数量 |
平均值 = 0 |
|
Target Server Memory(KB) |
sql Server所能消耗的最大物理内存 |
|
|
Total Server Memory(KB ) |
当前分配给sql Server的总内存。 |
接近于Target Server Memory |
我之前设计了一个性能监测系统,在这个系统中,会监测比较少的几个性能参数,若连续一段时间高于阀值则报警,再去检查更多的性能计数器。一直在监测的计数器如下:
Logicaldisk-->% Free Space,监控disk使用率,防止磁盘用完。
Logicaldisk-->Avg. disk sec/Transfer,监控disk IO,若该值大于0.02,则需要关注磁盘读写问题
Memory-->Available MBytes,监控内存空闲大小,保证有200M以上的剩余内存
Processor-->% Processor Time,监控cpu使用率,保证小于90%
sqlServer:缓冲管理器-->缓存命中率,sql Server基本健康指标,保证大于90%
-->可用页,sql Server内核内存使用情况,要长时间大于500
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。