某企业客户数据管理平台诊断优化案例

 

1. 问题分析

1.1             现象描述

某企业客户数据管理平台某省分公司服务器在运行过程中出现系统资源占用过高,运行效能差的问题,导致反洗钱等系统运行困难,明显存在性能瓶颈,需要有针对性地进行调节优化。

1.2             分析内容

系统性能问题的分析定位可以通过Windows 操作系统提供的性能计数器进行监控和记录,性能计数器是Windows平台对系统运行状态监控的重要工具,提供对操作系统本身和面向特定应用的各种性能参数,通过量化的性能计数器,可以对系统性能对比和问题追踪提供重要依据。在分公司数据管理平台运行期间已经抓取了相应的计数器指标供性能分析使用。

 

本次分析主要观测的计数器指标有:

Buffer Cache Hit Ratio

%Processor Time

Avg.Disk Queue Length

Avg.Disk sec/Read

Avg.Disk sec/ Write

2. 指标分析

2.1             Buffer Cache Hit Ratio

Buffer Cache Hit Ratio缓冲区高速缓存命中率是指在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比。该比率是缓存命中总次数与缓存查找总次数之比。由于从缓存中读取数据比从磁盘中读取数据的开销小得多,一般希望该比率高一些。该指标的值最好为 90% 或更高。通常可以通过增加 SQL Server 可用的内存数量来提高该指标的值。增加内存直到这指标的值持续高于 90%,表示 90% 以上的数据请求可以从数据缓冲区中获得所需数据。从图表中可看出Buffer Cache Hit Ratio一直保持在较高的使用水平,平均的使用率为99.222,可见系统内存不存在问题。

 

2.2             %Processor Time

%Processor Time是指处理器执行非闲置线程时间的百分比。这个计数器设计成用来作为处理器活动的主要指示器。它通过在每个范例间隔中衡 量处理器用于执行闲置处理线程的时间,并且用 100% 减去该值得出。( 台处理器有一个闲置线程,该线程在没有其它线程可以运行时消耗周 )。可将其视为范例间隔用于做有用工作的百分比。这个计数器显 示在范例间隔时所看到的忙时平均值。这个值是用 100% 减去该服务不活 动的时间计算出来的。从图表上可以看到CUP的平均使用率只有14.051,完全可以满足负载压力,不是系统效能瓶颈。

2.3             Avg.Disk Queue Length

Avg.Disk Queue Length是指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。磁盘时间计数器应保持在2.0以下,超过3.0的平均磁盘队列长度(Avg. Disk Queue Length)就意味着可能遇到了磁盘I/O瓶颈。而从图表上可以看到Avg. Disk Queue Length的平均值已经达到了382.075,说明由于有大量的磁盘请求队列导致了严重的瓶颈。需要进一步使用Avg. Disk Read Queue LengthAvg. Disk Write Queue Length来确定是读取还是写入出现性能瓶颈。

2.4              Avg.Disk sec/Read

Avg. Disk sec/Read是平均磁盘秒数/ 指从物理磁盘读数据的平均时间,以秒为单位。Avg. Disk Sec/Read一般不应超过1115ms,从图表可见,平均值已经达到了0.579,磁盘读取时间过长,是系统的主要瓶颈。

 

 

2.5             Avg.Disk sec/ Write

Avg. Disk sec/Write是平均磁盘秒数/  指向物理磁盘写数据的平均时间,以秒为单位。Avg. Disk Sec/Write一般建议小于12ms。从图表可见,平均值已经达到了0.115,磁盘写时间过长,是系统的主要瓶颈。

 

3. 分析建议

3.1             监控建议

从以上性能计数器的分析可以得出初步判断,数据管理平台分公司的主要性能瓶颈并不是由于CPU运算能力或内存不足造成的,而是由于磁盘I/O吞吐能力不足,建议从I/O能力方面寻找突破。

另外,由于采用NAS网络设备存储,网络的I/O也需要进行监测,网络方面可供性能监控的指标主要有:

Bytes Total/sec 是在每个网络适配器上发送和接收字节的速率,包括帧字符在内。Network Interface//Bytes Received/sec Network Interface//Bytes Received/sec Network Interface//Bytes Sent/sec的总和。

Current Bandwidth 指以位/每秒估计的网络接口的当前带宽。

Output Queue Length 为输出数据列队(数据包)的长度。如果这个长于 2,即会出现延缓并且如果可能的话找出并解决瓶颈问题。由于请求是在这个操作由网络驱动程序接口规格(NDIS)列队,这永远会是 0

Packets/sec 为在网络界面发送和接收数据包的速率。

Packets Outbound Discarded 为选为丢弃的输出数据包的数目,即便没有发现会阻止传输这些数据包的错误。丢弃数据包的可能原因是释放缓冲空间。

Packets Outbound Error 为由于错误不能传输的输出数据包的数目。

Packets Received Discarded 指选定要丢弃的输入数据包的数字,即使没有发现阻碍这些数据包成为可传送到更高层协议的错误。造成丢弃数据包的可能原因是释放缓冲器空间。

Packets Received Error 指输入数据包的数目,这些数据包含阻碍它们成为可传送到更高层协议的错误。

Packets Received/sec 为在网络界面接收数据包的速率。

Packets Sent/sec 为在网络界面发送数据包的速率。

 

其中主要应监控Bytes Total/sec以判断网络的带宽和通畅情况。

3.2             优化建议

另外,通过对服务器的SQL安装和配置情况的了解,发现所有的数据库都建立在SQL Server 缺省的MSSERVERSQL实例下,没有按应用系统进行数据库的划分,这样导致在想为不同的应用系统数据库进行系统资源(处理器、线程、内存等)划分时,无法进行按实例分割。

建议后续系统规划和维护时可逐步按应用将数据库分别建设在不同实例上,以使资源分配可以更灵活。附图为以实例为单位的CPU资源分配界面。

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值