数据库服务器性能评估全过程

 

经常在系统维护与系统扩容时,需要对现在运行的数据库服务器进行性能上评估。下面我就我所了解到有关数据库服务器性能评估方法及相关对应的参数分享给大家。以方便大家在以后的工作快速进行数据库服务器的性能评估。
要对服务器的进行性能评估,就要选择一种性能评估工具,我这里选择的是windows系统自带的性能监视器。

1.数据采集及提取

为了对数据库服务器进行性能,首先我们需要在需要评估的数据库服务器进行数据采集。具体操作如下:
A, 打开计数器:右击“我的电脑”管理---在计算机管理页面中点击系统工具---点击性能日志和警报点击计数器日志。
B, 新建计数日志:在计数器日志的右边操作栏中右击选择“新建日志设置”输入新日志名称,如test---点击“确定”
C, 选取性能参数:在test设定界面上点击“常规”选取“添加计数器”在“添加计数器”中首先在“性能对象”选定性能对象,然后“从列表中选择计数器”选择需要监控的计数器,(具体计数器请参考第二部分的数据分析中所提到计数器),对于计数器有理解的地方可以点击“说明”来进行查看。---点击“添加”---依次将你需要监控的性能计器数全部添加到计数器中。
D,为了便于后面使用excle进行数据分析,建议修改日志的类型:选择“日志文件”---日志文件类型---选择“文本文件(逗号分隔)”或“文本文件(TAB分隔)”
E, 设置数据采集时间段。
F, 点击“确定”。这样一个简单的数据采集计数器就设定好了。
 
数据采集计器工作一段时间后,或数据采集完成后,我们需要将采集到数据提取到本地来使用excel进行分析。按上述操作进行设定的计数日志的位置:C:\PerfLogs\。请将计数日志复制到本地计算机上。

 

2.数据分析

2.1 CPU性能分析

2.1.1 计数器

process/% Processor Time
system/ Processor Queue Length

 

 

2.1.2说明及参考值

% Processor Time 指处理器用来执行非闲置线程时间的百分比。计算方法是,测量范例间隔内非闲置线程活动的时间,用范例间隔减去该值。(通俗的说这就是CPU利用率)。要求平均低于75% (低于50%更佳)

 

Processor Queue Length 是处理器队列的线程数量。与磁盘计数器不同,此计数器只显示就绪线程,而不是正在运行的线程。即使运行多处理器的计算机只有一个处理器队列。因此,如果一台计算机有几个处理器,您需要将此值除以处理工作量的处理器数量。每个处理器平均低于2,双CPU或四CPU的情况下应该保持在48以下。(对于一个CPU多核的情况下,这个值是否需要修改,我还没有找到相关的资料,我个人认为一个双核的CPU应该按两个处理器来计算,如果4个四核的CPU,该值应该低于32

2.1.3 计数器分析

从上面的系列1的曲线可以看出:CPU利用率多数维持在50-60之间,这说明服务器的CPU比较繁忙,但还没有出现性能瓶颈。CPU Processor Queue Length一直为0,这说明CPU并不存在处理等待队列。CPU性能满足业务的需要。

 

2.2内存不足分析

2.2.1计数器

Memory\ Pages/sec
Memory\ Available Bytes

2.2.2说明及参考值

Pages/sec 是指为解决硬页错误从磁盘读取或写入磁盘的速度。它是 Memory\\Pages Input/sec Memory\\Pages Output/sec 的总和。是用页数计算的。建议该值低于20,(低于15更佳)  如果出现操作系统经常会利用磁盘交换的方式提高系统可用的内存量或是提高内存的使用效率。下列四个指标直接反映了操作系统进行磁盘交换的频度。
Page Faults/sec 
当处理器在内存中读取某一页出现错误时,就会产生缺页中断,也就是 page Fault。如果这个页位于内存的其他位置,这种错误称为软错误,用Transition Fault/sec 来衡量;如果这个页位于硬盘上,必须从硬盘重新读取,这个错误成为硬错误。硬错误会使系统的运行效率很快将下来。Page Faults/sec这个计数器就表示每秒钟处理的错误页数,包括硬错误和软错误。
Page Input/sec
表示为了解决硬错误而写入硬盘的页数(参考值:>=Page Reads/sec

Page Reads/sec
表示为了解决硬错误而从硬盘上读取的页数。(参考值: <=5
Pages/sec
表示为了解决硬错误而从硬盘上读取或写入硬盘的页数(参考值:00~20

 

Available MBytes 是计算机上运行的进程的可用物理内存大小,单位是千字节,参考值:>=内存容量 10%应该保持在50M以上。

 

必须同时监视 Available BytesPages/sec Paging File % Usage,以便确定是否发生这种情况。如果正在读取非缓存内存映射文件,还应该