基线分析方法在系统性能优化中的应用

2016-05-14 04:04梁军科
数字技术与应用 2016年5期
关键词:性能优化基线

梁军科

摘要:oracle提供的统计报告工具方便了故障的处理,操作系统和中间件也各有自己的性能采集办法。但面对长长的统计报告,如何能快速发现问题,面对排名在前的统计指标,到底是正常范围,还是出现了故障。建立基线分析系统可以使这些问题变得一目了然,还可以促使管理员提高运维水平,给故障发现,故障预警,趋势分析提供支持。

关键词:基线 性能优化 oracle

中图分类号:R319 文献标识码:A 文章编号:1007-9416(2016)05-0000-00

1 基线分析系统

1.1 基线是什么

基线是系统正常运行时的一些指标的集合,系统正常运行不能仅仅是刚上线运行时轻负载时的指标,应该是近期没有业务模块的增减,没有负载变动情况下系统正常运行状态下的指标集合。因此基线是一组动态变化的数据。对于基线的分析可以形成管理员的经验,而经验也可以加强对基线的理解,正确得出分析结果。

1.2 基线分析系统

一个动态基线分析系统如图1所示,核心部分由基线数据采集,数据存储,基线生成,问题发现,问题展示组成。即使不用动态基线的系统平台,手动分析也要包含这几个功能。另外可增加支持基线生成的异常排除规则模块,基线统计生成算法使基线生成更准确。可扩展问题根源分析系统,结合支持分析的指标关联功能知识库,展示问题的根源。运行数据还可支持趋势分析,预警系统。

动态基线使用上述工具采集的数据为原始数据,指标的统计数据不能简单地由一个值代表,初步分为三部分,一个是运行时的平均值或众数,反映日常的运行情况;一个是由正常到异常的边界值,表示系统即将出现故障;一个是代表资源能力的极值。如一个系统的IO响应时间指标,平均值是5ms,边界值超过20ms会出现故障,而极值最快可能是2ms。

基线应该根据在某一环境下正常运行的数据生成,处理在异常情况的指标应该排除。可以根据已有经验指定异常指标值,可以根据现实已发生的故障指定异常时间,也可以根据采集的数据自动判断异常数据。用上述计算得出的正常数据生成基线时,可以选择算法,如排除最大最小区间值,选择平均数还是中位数,众数作为运行数据。

指标关联知识库用于辅助进行root cause的分析。当系统有问题时,往往是多个指标出现问题,表数据读写时间变长,log write超时,大量锁等待出现,事务增多,原因都可以归类到IO问题,把指标归为几大类可以看得更清,更容易找到根本原因。而一个指标有问题,可以是几个原因引起。多个指标可能最终归结为一个原因。

1.3 手工运行基线分析

基线可以应用在数据库系统中,也可以在操作系统或中间件中。可以用脚本采集,也可以用现有的工具采集数据。没有基线分析平台,也可以手工的方式运行。Oracle数据库中已经有了AWR进行数据采集,用dbms_workload_repository.create_baseline把选定的快照保存为基线数据,用AWRDD把当前数据与基线数据进行对比,展示出系统中的问题。对问题的处理可以运行ADDM参考oracle给出的解决方案。可以编写存储过程排除异常状况,选取适合的快照,辅助基线的生成。可以编写指标与模块关联的知识库,对问题进行根源分析。

虽然有了基线指标,在oracle中比较容易发现问题和处理建议。但给出的问题和建议是否正确,只有理解了指标的具体含义才能进行正确的判断。最初对于基线指标的理解可能不多,但是随着对系统认识的加深,经验更加丰富,准确率也会提高。

2基线分析方法的应用

基线分析的方法可以进行故障应急处理。通过当前数据与基线数据的比对快速发现故障,有利于故障的快速定位,进行相应的处理;基线数据可用于运行情况分析,反映系统的运行状态,资源负载状况,对一些恶化的指标重点监测,更进一步进行趋势分析,做到系统的可评估;基线分析可增加故障预警,当运行指标接近边界值时就给出预警,先行进行性能的优化,防患于未然。因此,基线分析对日常运维有很大的帮助。

猜你喜欢
性能优化基线
适用于MAUV的变基线定位系统
航天技术与甚长基线阵的结合探索
SQL Server数据库性能优化的几点分析
Web应用的前端性能优化
一种改进的干涉仪测向基线设计方法
Oracle数据库性能调整与优化分析
技术状态管理——对基线更改的控制