您的位置:首页 > 数据库 > SQL

SqlServer 主要监控的性能计数器

2014-05-30 11:14 597 查看
计数器
对象
说明
阈值
相关说明
Memory
Page Faults/sec

=(硬错误)+(软错误)
每秒钟出错页面的平均数量(硬错误可以导致明显的拖延)
>1000
硬错误:Pages/sec(取读取硬盘)

软错误:Transition Fault/sec(在内存其他找到)

如果此值较高,再查看Pages/sec是否高。
Memory
Pages/sec

=( Pages Input/sec)

+(Pages Output/sec )
为解决硬页错误从磁盘读取或写入磁盘的速度(每秒钟内存和磁盘之间交换的页面数)(Page Input/sec>=Page Reads/sec;Page Reads/sec<=5)
>20
服务器上SQLServer是最主要的应用程序。如果SQLServer缓存命中率(Buffer Hit Cache Ratio)达99%以上,而Pages/sec 总是超过20,那就是其他程序引起的,建议移除这些程序。如果没有运行其他程序,SqlServer可能缺乏内存,可配置为动态内存,或增大max server memory (MB),或者增加内存。内存不足时页读取频繁,也会影响IO问题。
Memory
Available mbytes
当前能够使用的物理内存(mb)
<5
windows系统当前可用物理内存减少时,还要确定是否是其他系统进程经常消耗内存。再观察SqlServer的目标内存(Target Server Memory)和最大内存(Total Server Memory)是否在下降?同时观察Process\Working Set是否在上升,导致可能的内存泄露现象。内存不足一把会触发“惰性编写器”(Lazy write)进程,可用内存又会上升。
SQLServer:Buffer Manager
Buffer Cache Hit Ratio
数据页在buffer pool中找到(而没有从磁盘读取)的百分比
<95%
此值一般都会达99%以上。内存不足时在buffer pool就可能找不到数据页(因为经常与磁盘交换)
SQLServer:Buffer Manager
Page life expectancy
数据页停留在buffer pool中没有被引用的秒数。
<300
当内存充足时,数据页会一直停留在缓存中(即使很长时间不被使用),SqlServer会一直把数据页取出来放到buffer pool中,这样缓存命中率(Buffer Cache Hit Ratio)也会很高。如有内存压力,延迟写(Lazy write)会触发,无用或较久的数据页会写入磁盘或释放,Page life expectancy会突然下降。网上都说阈值为300秒。这停留时间越大越好。(公司当前数据库总大小150G,内存64G,Page
life expectancy高达十几个小时)
SQLServer:Buffer Manager
Lazy write/sec
每秒被缓冲区管理器的惰性编写器写入的缓冲区数
>1
“惰性编写器”是一个系统进程,用于成批刷新脏的过期的缓冲区,使缓冲区可再次被申请和提交使用。当内存不足时,“惰性编写器”会被经常触发。一般该值都会为0.
SQLServer:Buffer Manager
Total pages
SqlServer在buffer pool中的总页数(包括 数据页,空闲页,stolen页)
<MAX
(Total pages)*8k=(Total Server Memory)

此值与Total Server Memory为比例关系,只需观察SQLServer:Memory Manager\Total Server Memory就行
SQLServer:Memory Manager
Total Server Memory(KB)

Target Server Memory(KB)
SqlServer当前提交的动态内存总量(即在buffer pool中的大小,包括 数据页,空闲页,stolen页)
<MAX
该计数器一般都等于Target Server Memory (KB),因为会一直把可用的内存都使用。若该值减少,则表示内存被其他程序或对象占用了。观察Available mbytes是否也接近于0,如是,则当前正在由其他应用程序在使用大量内存。
process
Private Bytes(sqlserver)
SqlServer线程已分配的专用内存
 
一般SqlServer都尽量使用内存,如果出现内存溢出,可以查看此计数器以确定是否为数据库引起的。
Process

Paging File
Page File Bytes

% Usage
分页文件当前使用字节数
>70%*Peak
分页文件由所有进程共享,分页文件缺乏空间会阻止其他进程分配内存。如果没有分页文件,此计数器反映的是此进程在物理内存保留的、虚拟内存的当前数量。
Process

Paging File
Page File Bytes Peak

% Usage Peak
分页文件可使用的最大字节数
 
同上
Memory
Cache Bytes
系统使用的物理内存数目
以下计数器的总和

Memory\\System Cache Resident Bytes

Memory\\System Driver Resident Bytes

Memory\\System Code Resident Bytes

Memory\\Pool Paged Resident Bytes
计数器
对象
说明
阈值
相关说明
System
Processor Queue Length
就绪线程在等待分配CPU资源所排队列的长度
>处理器个数+1
多处理器的计算机只有一个处理器队列。如果持续一段时间大于(处理器个数+1)个数的值,说明CPU堵塞
Processor
% Processor Time(_Total)
处理器用来执行非闲置线程时间的百分比
>85%
Processor Information\% Processor Time一样。总体看CPU是否很忙。若忙,接着再看sqlservr进程的CPU占用情况,确定是否是SqlServer消耗CPU。(可以打开“系统性能监视器”或“资源监视器”查看每个进程情况)
Processor
% Privileged Time(_Total)
在特权模式下进程线程执行代码所花时间的百分比
>30%
当调用 Windows 系统服务时,此服务经常在特权(内核)模式运行,以便获取对系统专有数据的访问。应用模式(用户模式)执行的线程无法访问这些数据,可通过执行程序(内核模式)访问硬件资源请求。如果值很高,可能系统服务遇到问题。
Processor
% Interrupt Time
处理器在实例间隔期间接受和服务硬件中断的时间 (CPU花在处理中断上的时间的百分比)
>50%*(% Processor Time)
如果这个值超过50%的处理器时间, 你就很可能遇到了一个硬件问题。
Processor
Interrupts/sec
每秒钟处理器接收和处理硬件中断的个数。系统时钟通常每 10 毫秒中断处理器一次。
>1000(long)
生成中断的设备(如系统时钟、鼠标、磁盘驱动器、数据通讯线、网络接口卡和其他外缘设备)的活动。这些设备通常在完成任务或需要注意时中断处理器。正常线程执行因此被中断。把这个值跟System: Systems Calls/sec 进行比较, 如果Interrupts/sec 在一段时间内远远超过System: System Calls/sec, 你很可能遇到了一个硬件问题.
Process
% Processor Time(sqlservr)
sqlservr进程线程使用处理器执行指令所花的时间百分比
>80%
指定单个进程消耗的CPU时间占比.参考总的CPU消耗(% Processor Time(_Total))
Process
% Privileged Time
在特权模式下处理线程执行代码所花时间的百分比
>30%(%Processor Time(sqlservr))
当调用 Windows 系统服务时,此服务经常在特权(内核)模式运行,以便获取对系统专有数据的访问。用户模式(应用模式,如 SqlServer)执行的线程无法访问这些数据,可通过执行程序(特权模式)访问硬件资源请求。如果值很高,可能系统服务遇到问题。
System
Systems Calls/sec
运行在计算机上的所有处理器调用操作系统服务例行程序的综合速率。
 
这些例行程序执行所有在计算机上的如安排和同步活动等基本的程序,并提供对非图形设备、内存管理和名称空间管理的访问。这个计数器显示用上两个实例中观察到的值之间的差除于实例间隔的持续时间所得的值。
计数器
对象
说明
阈值
相关说明
Physical Disk
% Disk Time
磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比
>50%
如果比较高,再确定是读还是写时间高?

% Disk Read Time

% Disk Write Time

如果%DiskTime高达90%,查看当前请求数(Avg 或Current的 Disk Queue Length)是否过大,若是可能是磁盘瓶颈。
Physical Disk
Avg. Disk Queue Length
读取和写入请求的平均数,即正在等待读写的请求数。
>2
如果比较高,再确定是读还是写等待长?

Avg. Disk Read Queue Length

Avg. Disk Write Queue Length
Physical Disk
Split IO/Sec
磁盘上的 I/O 分割成多个 I/O 的速率
>2
一个分割的 I/O 可能是由于请求的数据太大不能放进一个单一的 I/O 中或者磁盘碎片化而引起的。
Physical Disk
Current Disk Queue Length
磁盘上当前的请求数量
>2(long)
除于磁盘数等于平均磁盘请求数。查看该值是否长时间大于2.
Physical Disk
Avg. Disk Bytes/Transfer
写入或读取操作时从磁盘上传送或传出字节的平均数(越高越好)
low
如果比较低,再确定是读还是写字节低?

Avg. Disk Bytes/Read

Avg. Disk Bytes/Write
Physical Disk
Avg. Disk sec/Transfer
计算的一般磁盘传送所需时间(越低越好)
>20ms
如果比较高,再确定是读还是写时间高?

Avg. Disk sec/Read

Avg. Disk sec/Write
Physical Disk
Disk Bytes/sec
写入或读取操作时从磁盘上传送或传出的字节速率(越高越好)
low
如果比较低,再确定是读还是写速率低?

Disk Read Bytes/sec

Disk Write Bytes/sec
Physical Disk
Disk Transfers/sec
在磁盘上读取/写入操作速率(越高越好)
low
如果比较低,再确定是读还是写速率低?

Disk Reads/sec

Disk Writes/sec
性能监视器
windows自带监视器统计
Memory
Pool Paged Bytes
 
任务管理器
核心内存(MB)
未分页
Memory
Pool Nonpaged Bytes
 
任务管理器
核心内存(MB)
分页数
Memory
Available Mbytes
 
任务管理器
物理内存(MB)
可用
Memory
Free & Zero Page List Bytes
 
任务管理器
物理内存(MB)
空闲
Memory
Committed Bytes
 
任务管理器
系统
提交(MB)
Memory
Commit Limit
 
任务管理器
系统
提交限制(MB)
Process
Handle Count
_Total
任务管理器
系统
句柄数
Process
Thread Count
_Total
任务管理器
系统
线程数
System
Thread
 
任务管理器
系统
线程数
System
Processes
 
任务管理器
系统
进程数
 
 
 
 
 
 
 
 
 
 
 
 
Process
Private Bytes
sqlserver
资源监控器
内存\进程
提交(KB)
Process
Working Set
sqlserver
资源监控器
内存\进程
工作集(KB)
Process
Working Set - Private
sqlserver
资源监控器
内存\进程
专用(KB)
Process
(Working Set)减去

(Working Set - Private)
sqlserver
资源监控器
内存\进程
可共享(KB)=(工作集-专用)
 
 
 
 
 
 
Process
Thread Count
sqlserver
资源监控器
CPU\进程
线程数
Process
% Processor Time
sqlserver
资源监控器
CPU\进程
平均CPU
windows自带监视器统计,如图:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: