数据库性能监测相关指标阀值

数据库性能监测相关指标阀值
数据库性能监测相关指标阀值

资源对象/计数器建议的阀值

磁盘PhysicalDisk\% Disk Time90%

磁盘PhysicalDisk\Disk Reads/sec

PhysicalDisk\Disk Writes/sec取决于制造商的规格

磁盘Physical Disk\ Current Disk

Queue Length主轴数加 2

内存Memory\Available Bytes至少10% 的物理内存内存Memory\Pages/sec20内存Memory\Page Faults/sec

网络Network Segment\% Net tilization取决于网络的类型网络bytes total/sec带宽的50%

网络output queue length1或2比较满意

页面文件Paging File\% Usage99%处理器Processor\% Processor Time85%

处理器Processor/% Privileged Time75%

处理器Processor\ Interrupts/sec 如果处理器使用率超过90%

且%InterruptTime (中断)大于15%,则处理器可能负荷过重,并发生中断

服务器Server\Bytes Total/sec

服务器Server\ Work Item Shortages3服务器Server\ Pool Paged Peak物理RAM的数量

服务器Server Work Queues\ Queue Length4

多个处理器System\Processor Queue Length2

服务器System/Context Switches/sec 按照通常的规律,context switching 速率小于5000/秒/CPU是不需要担心的。如果Context Switching速率达到15000/秒/CPU的话就是一个制约因素了。

数据库Buffer Cache\Cache Hit Ratio80%

数据库SQLServer:Memory Manger:Memory

Grants Pending0

数据库SQLServer:Buffer Manager:

Buffer Cache Hit Ratio95%

数据库SQLServer:Buffer Manager:Lazy Writes/Sec平稳

数据库Page Life Expectancy平稳

数据库SQL Server提供的

sys.dm_os_performance_counters计数器视图,主要对缓冲区管理器和内存管理器的一些计数器进行监控,比如页面的生存周期、检查点、惰性写入器和缓冲命中率等指标。如右图

对于SQL Server占用内存资源的监控主要集中在页面吞吐能力、页面错误和可用内存上上,对虚拟内存的监控,则重点在于分页文件的使用率上。下面提供了几种对象、计数器和相应的阈值及描述。

DBCC MemoryStatus命令提供了SQL Server的当前内存状态的快照,也可以作为我们分析内存瓶颈的重要依据。

注释

检查磁盘的指定传送速度,以验证此速度没有超出规格。通常,Ultra Wide SCSI磁盘每秒可以处理50次I/O操作

这是即时计数器;观察在多个间隔上的值。对于随时间的平均值,请使用Physical Disk\ Avg.Disk Queue Length 如果Available Mbytes的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。

是指为解析硬页错误从磁盘读取或写入磁盘的页数

推荐00-20(如果服务器没有足够的内存处理其工作负荷,此数值将一直很高。如果大于80,表示有问题)

是处理器每秒钟处理的错误页(包括软错误和硬错误)

如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。

必须基于运行的网络类型决定阈值。

例如,对于以太网络,推荐的阈值为30%。

Bytes Total/sec 为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较

该计数器的值和目前网络的带宽相除,结果应该小于50%显示输出队列的长度,通常情况下长度为1 或 2 比较满意与Available Bytes和 Pages/sec 一起复查该值,了解计算机的页交换活动。

查找使用处理器时间高百分比的进程。升级到更快的处理器或安装其他处理器。

这个计数器表示一个线程在特权模式下所使用的时间比例。当你的程序调用操作系统的方法(比如文件操作,网络I/O或者分配内存),这些操作系统的方法是在特权模式下运行的。

这个计数器表示处理器接收处理硬件中断所使用的时间比例。这个值间接指出产生中断的硬件设备活动,比如网络变化。这个计数器显著增加的话表示硬件可能存在问题。此计数器的值明显增加,而系统活动没有相应的增加则表明存在硬件问题。标识导致中断的网卡。

如果所有服务器的 Bytes Total/sec和与网络的最大传送速度几乎相等,则可能需要将网络分段

如果值到达此阈值,请考虑调整注册表中的InitWorkItems 或MaxWorkItems在

KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \LanmanServer下)。

此值是最大页面文件大小和物理内存数量的指示器。

如果值到达此阈值,则可能存在处理器瓶颈。这是即时计数器;观察在多个间隔上的值。

这是即时计数器;观察在多个间隔上的值,如果就绪的任务超过处理能力线程就会被放进队列。处理器队列是就绪但是未能被处理器执行的线程的集合,这是因为另外一个线程正在执行状态。持续或者反复发生2个以上的队列则明确的表示存在处理器瓶颈。你也能通过减少并发取得更大的吞吐量。

当一个高优先级的线程取代一个正在运行的低优先级线程,或者高优先级线程阻塞的时候就会发生Context Switching。大量的Context Switching可以发生在许多线程拥有相同的优先级的情况下,这通常表示有太多的线程竞争CPU,如果你没有看到太高的处理器使用率而且发现Context Switch非常低,那么表示线程被阻塞。

该值越高越好。如果持续低于80%,应考虑增加内存。注意该参数值是从SQL Server启动后,就一直累加记数,所以运行经过一段时间后,该值将不能反映系统当前值。

等待内存授权的进程总数。如果该值不为0,说明当前有用户的内存申请由于内存压力被延迟,这意味着比较严重的内存瓶颈。

数据从缓冲区中找到而不需要从硬盘中去取的百分比。SQL Server在运行一段时间后,该比率的变化应该很小,而且都应该在98%以上,如果在95%以下,说明有内存不足的问题。

每秒钟被惰性编辑器(Lazy writer)写入的缓冲数。当SQL Server感觉到内存压力的时候,会将最久没有使用的数据页面和执行计划从缓冲池中清理掉,做这个动作的就是Lazy Writer。

页面不被引用后,在缓冲池中停留的秒数。在内存没有压力的情况下,页面会一直待在缓冲池中,Page Life Expectancy会维持在一个比较高的值,如果有内存压力时,Page Life Expectancy会下降。所以如果Page Life Expectancy不能维持在一个值上,就代表SQLServer有内存瓶颈。

相关文档
最新文档