赵 佩,王立斌,李 翀,王洪莹,张 超
(国网河北省电力公司电力科学研究院, 石家庄 050021)
用电信息采集系统的数据库服务器运行指标监测与性能分析
赵 佩,王立斌,李 翀,王洪莹,张 超
(国网河北省电力公司电力科学研究院, 石家庄 050021)
为提升运维效率,保证稳定运行,通过对用电信息采集系统主站服务器日志和数据库负荷报告的日常分析经验总结,提出系统运行指标监测和性能分析方法,以期为支撑海量数据挖掘与深化应用,提升采集系统运行与管理效率等方面奠定坚实基础。
智能电网;采集系统;运行指标监测;性能分析
用户用电信息采集系统(简称“采集系统”)以智能电能表和通信网络为基础支撑[1],覆盖购供售三侧关口,对各项电气量数据进行实时精确采集,为电网运营管理提供了准确的海量数据支撑,是智能电网的核心组成部分。
随着智能电网的发展,智能电能表快速接入,系统主站承担了越来越多的工单调试、接入和采集任务,以及数据统计、推送和发布压力,所以,采集系统的稳定运行对智能电网建设、电网运营管理、各项电气量数据实时精确采集至关重要[2]。
以下通过对服务器日志和数据库负荷报告的日常分析经验总结,根据采集系统主站实际配置情况,提出系统运行指标监测和性能分析方法,并介绍了常用的运维工具,运维人员可进行参考,从而全面提高运维效率、分析防范系统异常、准确定位故障源头、及时协调实施消缺、总结系统运维经验、保障安全稳定运行。
采集系统主站在运服务器配置如表1所示。
从上述配置可以看出生产数据库服务器配置较低,而生产数据库服务器承担着采集各项电气数据的报文入库、电量/线损/成功率的统计计算、数据推送查询库和其他系统,以及与其他系统间的接口交互推送,是采集系统主站中重要的组成部分,所以生产数据库服务器的运行指标需要重点监测分析。
由于系统主站的生产数据库服务器运行情况是监测重点,所以运行指标监测工作需要分为服务器指标监测和数据库指标监测两部分,2种指标分别体现服务器宏观性能和数据库软件运行情况,而且2种指标之间各有侧重,存在着一定关联。
表1 采集系统主站部分服务器配置
服务器类型配置数量运行情况生产数据库IBMP570小型机,32核处理器,128GB内存,AIX5.3操作系统,Oracle10g数据库2设备运行已有6年,近期负荷居高不下甚至出现数据库实例重启现象查询数据库SUNT5-8小型机,1024核处理器,2TB内存,Solaris10操作系统,Oracle11g数据库2设备性能高,运行压力小,故障率极低前置集群16台刀片服务器和10台曙光I840PC机26运算处理效率高,单点故障影响小,可靠性高应用集群4台浪潮TS860高性能PC机4运算处理效率高,单点故障影响小,可靠性高关口系统6台刀片服务器和6台DELLR910PC机12运算处理效率高,单点故障影响小,可靠性高测试系统6台DELLR710PC机6运算处理效率高,单点故障影响小,可靠性高…………………
3.1 运行指标监测内容
3.1.1 服务器运行指标
服务器运行指标中需要关注CPU和内存使用情况。由于每天的CPU负载率和内存使用率会有波动,所以服务器的运行指标监测内容包括:CPU负载率:包括两节点每日的CPU平均负载率和最高负载率,并根据CPU运算类别分为User%(用户使用率)、Sys%(系统使用率)、Wait%(等待事件占用率)、Idle%(空闲CPU负载率)、CPU%(CPU总使用率)5个维度,其中CPU%=User%+Sys%。内存占用率:包括两节点每日内存占用率的平均值、最大值和最小值,并根据内存使用类别分为Realfree%(真实内存剩余百分比)、Virtualfree%(虚拟内存剩余百分比)、Comp%(计算内存占比)、Realuse%(物理内存使用率)、Virtualuse%(虚拟内存使用率),其中Realuse%=100%-Realfree%、Virtualuse%=100%-Virtualfree%。3.1.2 数据库运行指标
数据库运行指标中需要关注每个实例硬解析、CR值和AAS值。
a. 硬解析:如果一条待执行的SQL语句没有在Oracle的共享池中,那么它将被重新解析,大量的硬解析会产生解析争用,造成CPU资源消耗。
b. CR(Consistent Read)值:用来表征数据库两实例间同步差异的指标,与网络、节点间的数据交互有关。
c. AAS(Average Active Session)值:DB time与Elapsed Time的比值,用来体现数据库的负载程度,如果负载较高或者等待事件较多,AAS值就会变大。
3.2 运行指标监测方法
为做好采集系统支撑,保证系统稳定运行,主站运维管理部门需安排专人与系统实施厂家开发部DBA和现场运维工程师组成系统运行指标监测与消缺工作组,通过每天查看系统生产库服务器NMON负荷曲线和数据库AWR报告,持续监测采集系统服务器各项运行性能指标和异常情况,及时发现、处理系统异常,对消耗系统资源的SQL语句进行修改完善,实时跟踪优化进度,并统计优化效果、积累运维经验。
系统正常情况下,运行指标的监测频率为每天查看并记录,对于日常导出的负荷曲线和根据各项运行指标数据绘制生成的图表都保存留档。另外,定期编写阶段性分析报告,根据重大操作前后的指标情况阶段性分析,得出系统性能改善情况,总结运维经验。各项运行指标的具体监测方法如下。
3.2.1 服务器运行指标监测方法
3.2.1.1 NMON概述
NMON是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具。NMON所记录的信息比较全面,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中。
实际工作中,NMON有3种常用的使用模式,分别是实时监控、后台监控和定期监控模式。通过后台监控和定期监控,可以得到扩展名为NMON的监控文件,这些文件记录着系统资源的数据,需要配合分析工具进行解读。NMON analyser.xls可以将NMON文件转化为Excel文件,并生成统计图,直观显示系统资源情况。在NMON结果中打开相应标签页结合系统实际设置,可以进一步确定造成问题的原因。NMON能够提供CPU、内存、硬盘、网络等各方面的信息,对于运行指标的监控和分析工作能够提供很好的数据支持。
3.2.1.2 使用NMON文件监测方法
在使用NMON文件监测服务器运行指标的具体操作方法如下。
a. 使用远程命令行工具(如SSH Secure shell Client等),以root用户登陆数据库服务器两节点,找到NMON文件存放路径,将后缀名为.NMON的文件下载。
b. 使用NMON Analyser工具,选择NMON文件待分析完成后,输入规范的文件名即可生成包含CPU、内存指标和相应负荷曲线的Excel文件。
c. 针对生成的Excel文件中“SYS_SUMM”、“MEM”工作表中的CPU负荷率和内存使用率数据,以及“CPU_ALL”、“PAGE”中的图表进行拷贝存档。
d. 当有停机操作、重启数据库等重大操作时,在随后进行实时监控,并对比操作前后的服务器运行指标变化。
3.2.2 数据库运行指标监测方法
3.2.2.1 AWR概述
查看AWR(Automatic Workload Repository)是进行日常数据库性能评定、问题SQL发现的重要手段,熟悉掌握AWR报告,是做好开发、运维DBA工作的重要基本功。
AWR报告的原理是基于Oracle数据库的定时镜像功能。默认情况下,Oracle数据库后台进程会以一定间隔(1 h)收集系统当前状态镜像,并且保存在数据库中。生成AWR报告时,只需要制定进行分析的时间段(开始镜像编号和结束镜像编号),就可以生成该时间段的性能分析情况。
3.2.2.2 使用AWR监测方法
在使用AWR监测数据库运行指标的具体操作方法如下。
a. 使用远程命令行工具(如SSH Secure shell Client等)以Oracle用户登陆数据库服务器两节点用户后,进入SQL命令行。执行 @ORACLE_HOME/rdbms/admin/awrrpt.sql 命令进入AWR报告生成步骤。
b. 输入报告类型(一般使用html类型),报告天数,开始、结束镜像快照,输入规范的AWR报告文件名即可生成AWR报告文件。
c. 进入oracle用户的目录下找到生成的AWR报告,下载后可用浏览器打开查看AWR报告。
d. 将两节点AWR报告中的《Load Profile》部分第8条Hard Parse(硬解析值)、《Global Cache and Enqueue Services - Workload Characteristics》部分的第7条Avg global cache cr block flush time(CR值),开头部分DB Time和Elapsed比值(AAS值)进行记录,绘制生成曲线图表。
e. 当有停机、重启数据库等重大操作时,在随后进行实时监控,并对比操作前后的数据库运行指标变化。
根据目前生产数据库服务器硬件配置情况和日常业务,制定一种适合采集系统实际情况的分析方法,列举各个指标的参考区间。运维人员在对数据库服务器的各项运行指标监测分析过程中,可按照制定的参考区间开展指标评判。
4.1 CPU负载
由于生产数据库服务器除操作系统软件造成的基础负荷(Sys%)外,安装了Oracle数据库作为主要软件使用CPU计算资源,体现在CPU负载中的User%占比。考虑采集系统生产库工作原理和实际硬件配置情况,分析CPU负载情况的参考值如表2所示。
表2 CPU负载情况分析参考值
CPU指标名称参考值User10%~70%Sys5%~20%Wait0%~10%Idle10%~85%AVG(CPU%)30%~50%MAX(CPU%)65%~85%相邻两日CPU%变化率±20%
4.2 内存占用变化
采集系统生产库服务器设置maxperm%和maxclient%参数为Oracle数据库合理分配内存空间[3],同时根据AIX操作系统内存管理机制,页面淘汰基于LRU算法,内存使用率较高也并非异常,所以分析相邻两日内存占用平均值变化情况更有价值,分析内存占用变化情况的参考值如表3所示。
表3 相邻两日内存平均值变化情况分析参考值 %
内存指标名称参考值Real_free±1Virtual_free±2Comp±2Real_use±1Virtual_use±2TOTAL(MEM)±2
4.3 数据库运行指标
数据库作为采集系统生产库服务器的核心软件,数据库指标的变动会对服务器运行造成较大影响,相反如果服务器资源紧张,也会对数据库指标造成很大影响,所以数据库运行指标也要设定参考区间。经过综合考虑,分析数据库运行情况的参考值如表4所示。
表4 数据库运行指标情况分析参考值
数据库运行指标名称参考值硬解析/(次·S-1)0~20CR值/ms0~20AAS值1~20
为了做好指标监测,提高运维效率,缩短故障响应时间,运维人员应选择使用方便高效的运维工具同样重要。推荐使用的运维工具如下:
a. 录像机OS Watcher。OS Watcher可以记录在系统中的各类操作,每小时的信息单独打包成一个gzip压缩文件。类似AIX系统的NMON日志文件,OSW可以将每个时刻的系统状态记录归档,可以快速定位故障。该工具可以通过使用startOSW.sh命令启动,stopOSW.sh命令结束。录像机OS Watcher默认保留3天的数据,可以手动设置保留天数,如果使用了Oracle RAC,可以通过配置prvnet,记录网络心跳的状态。
b. 监视器oratop。oratop和Unix/Linux里top命令类似,实时展现数据库的相关信息,使用方便简单。
c. ora。与oratop不同,ora完全是响应式的,集成了诸多需要执行一长串SQL语句才能实现功能查询。这个工具为Oracle开发,DBA在使用过程中可以根据自己的需要,增加新的功能点,在问题分析过程中最快速的得知数据库对象的情况,做出相应的处理抉择。
d. SQL Developer。前述1-3的运维工具是命令行工具,可以在不方便用图形界面时使用。SQL Developer该工具是可以在图形化界面使用的工具。
e. ORAchk。之前被称为RACcheck,之后扩展了检查范围,改名为ORAchk,它是在数据库系统进行健康检查的一个专用工具,主要用来检查软件的配置是否符合要求以及一些最佳实践是否被应用。通过这个工具,用户可以方便地、自动化地对自己的系统进行健康检查和评估。Oracle还为Exadata用户提供了exachk工具。
f. RDA(Remote Diagnostic Agent)。oracle用来收集、分析数据库的工具,该工具的运行不会改变系统的任何参数,RDA收集的相关数据非常全面,可以简化我们日常监控、分析数据库的工作,RDA比ORAchk更加复杂和全面,支持的模块更多。Oracle Support也建议我们在反馈相关问题时,提供RDA收集的数据,这样可以为快速解决问题提供一个有力的保证。
g. RMAN。RMAN是数据库工程师维护常用的工具。用RMAN,不仅要定期做备份,每年应至少进行一次恢复验证,避免备份失效。
h. OEM。OEM企业管理器从8i的单机版到近期的OEM13c CC(Cloud Control),界面和交互变得更加友好,而且不仅Oracle数据库,其他监控和管理的事务,几乎都可以在OEM工具中定制。
采集系统运行指标监测和系统性能分析是一项长期开展的工作,涉及到服务器、操作系统、数据库等方面的各项技术。全面提高运维效率,做好采集系统的运行指标监测和性能分析工作,可对充分发挥采集系统支撑海量数据挖掘与深化应用,稳步提升采集系统运行与管理效率等方面起到积极的促进作用。
[1] 刘 征.电力用户用电信息采集系统的研究与应用[J].大科技,2013(18):27-28.
[2] 梁 波,杨铭海.用电信息采集系统架构及功能应用(一)[J].农村电工,2013(2):41-43.
[3] 刘长生,孟 松.oracle数据库参数优化与分析.电脑知识与技术[J].2004(26):8-10.
本文责任编辑:丁 力
Operation Indicators Monitoring and Performance Analysis of Database ServerBased on Power User Electric Energy Data Acquire System
Zhao Pei,Wang Libin,Li Chong,Wang Hongying,Zhang Chao
(State Grid Hebei Electric Power Research institute,Shijiazhuang 050021,China)
In order to promote operation and maintenance efficiency, and guarantee the stability of the system, operation indicators monitoring and performance analysis methods are given in this paper after analyzing and summarizing server logs and database workload repositories of the system master,which establishes a solid foundation to support massive data mining,application deepening,operation and management efficiency promotion of the system and so on.
Smart Grid; acquire system; operation indicators monitor; performance analysis
2016-05-16
赵 佩(1990-),男,助理工程师,主要从事用电信息采集系统建设推进和优化研究工作。
TM76
B
1001-9898(2016)05-0025-04