SqlServer 主要监控的性能计数器

SqlServer 主要监控的性能计数器,第1张

概述计数器 对象 说明 阈值 相关说明 Memory Page Faults/sec =(硬错误)+(软错误) 每秒钟出错页面的平均数量(硬错误可以导致明显的拖延) >1000 硬错误:Pages/sec(取读取硬盘) 软错误:Transition Fault/sec(在内存其他找到) 如果此值较高,再查看Pages/sec是否高。 Memory Pages/sec =( Pages Input/se

计数器

对象

说明

阈值

相关说明

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自带监视器统计,如图:

@H_870_1419@



总结

以上是内存溢出为你收集整理的SqlServer 主要监控的性能计数器全部内容,希望文章能够帮你解决SqlServer 主要监控的性能计数器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1169832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存