积极答复者
大家监控SQLServer 服务器的时候,主要是监控什么计数器呢?

问题
-
我这边有一个大致的清单,但是不知道是否完整或者存在错误。
请大家帮忙看下,谢谢了哈。
内存和页面文件的使用 Memory: Available Bytes Memory: Pages/sec Process: Page Faults/sec 内存和缓冲区的使用 Process: Working Set SQL Server: Buffer Manager: Buffer Cache Hit Ratio SQL Server: Buffer Manager: Total Pages SQL Server: Memory Manager: Total Server Memory CPU情况监视 Processor: %Processor Time System: Context Switches/Sec System: Processor Queue Length Processor: %Privileged Time Processor: %User Time 硬盘情况监视 PhysicalDisk: %Disk Time PhysicalDisk: Avg.Disk Queue Length PhysicalDisk: Disk Reads/sec
If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
答案
-
个人经验:
Processor:%Processor Time 大于70%有问题
System:Processor Queue Length 大于处理器数量的2倍有问题
Memory:Pages/Sec 每秒从内存中分配磁盘或者从磁盘分页到内存的页数。不能一直大于1。
Memory:Available Bytes 可用内存数,大于50MB。
Sql Server:Buffer Manger:Buffer Cache Hit Ratio 在缓冲区找到数据而不是去磁盘读取的时间百分比。低于90%说明有IO压力。越大越好。
Sql Server:Buffer Manger:Page Life Expectancy 数据在缓冲区停留而不被数据操作引用的时间,最小约300秒,越大越好。
PhysicalDisk:Avg.Disk Queue Length 应该小于物理磁盘数乘以2.
PhysicalDisk:% Disk Time 不能一直超过60%
SQL Server Access Methods:Page Splits/sec页上没有空间后,插入就会产生分页操作。越大越不好。
family as water- 已标记为答案 WeiLin QiaoModerator 2011年5月27日 2:56
-
The list is right, and my suggestion is that you need to get your baselines for your servers.
对象
计数器
描述
值
Physical Disk
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
- 已标记为答案 WeiLin QiaoModerator 2011年5月27日 2:56
-
Watch sqlserver:buffer manager page life expectancy, low value means memory pressure.
- 已标记为答案 WeiLin QiaoModerator 2011年5月27日 2:57
全部回复
-
个人经验:
Processor:%Processor Time 大于70%有问题
System:Processor Queue Length 大于处理器数量的2倍有问题
Memory:Pages/Sec 每秒从内存中分配磁盘或者从磁盘分页到内存的页数。不能一直大于1。
Memory:Available Bytes 可用内存数,大于50MB。
Sql Server:Buffer Manger:Buffer Cache Hit Ratio 在缓冲区找到数据而不是去磁盘读取的时间百分比。低于90%说明有IO压力。越大越好。
Sql Server:Buffer Manger:Page Life Expectancy 数据在缓冲区停留而不被数据操作引用的时间,最小约300秒,越大越好。
PhysicalDisk:Avg.Disk Queue Length 应该小于物理磁盘数乘以2.
PhysicalDisk:% Disk Time 不能一直超过60%
SQL Server Access Methods:Page Splits/sec页上没有空间后,插入就会产生分页操作。越大越不好。
family as water- 已标记为答案 WeiLin QiaoModerator 2011年5月27日 2:56
-
I have one list about the counters.but i don't know whether it is right.
can you please check,and add some one?
reference value
Memory and page file
Memory: Available Bytes
>128,000,000
Memory: Pages/sec
should not >0 always
Process: Page Faults/sec
Memory and buffer cache
Process: Working Set
>5,000,000
SQL Server: Buffer Manager: Buffer Cache Hit Ratio
>90%
SQL Server: Buffer Manager: Total Pages
SQL Server: Memory Manager: Total Server Memory
equal to physical memory
CPU
Processor: %Processor Time
<90%
System: Context Switches/Sec
<8000
System: Processor Queue Length
should <2
Processor: %Privileged Time
The lower,the better
Processor: %User Time
Physical disk
PhysicalDisk: %Disk Time
<90%
PhysicalDisk: Avg.Disk Queue Length
<2
PhysicalDisk: Disk Reads/sec
If you haven't all the things you want,be grateful for the things you don't have that you didn't want.- 已编辑 Wison-Ho 2011年5月17日 13:18
- 已合并 WeiLin QiaoModerator 2011年5月18日 5:42 duplicated thread
-
The list is right, and my suggestion is that you need to get your baselines for your servers.
对象
计数器
描述
值
Physical Disk
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
- 已标记为答案 WeiLin QiaoModerator 2011年5月27日 2:56
-
我之前设计了一个性能监测系统,在这个系统中,会监测比较少的几个性能参数,若连续一段时间高于阀值则报警,再去检查更多的性能计数器。一直在监测的计数器如下:
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%
SQLServer:缓冲管理器-->可用页,SQL Server内核内存使用情况,要长时间大于500
-
Watch sqlserver:buffer manager page life expectancy, low value means memory pressure.
- 已标记为答案 WeiLin QiaoModerator 2011年5月27日 2:57