一种性能监控方法及装置与流程

文档序号:11133815阅读:435来源:国知局
一种性能监控方法及装置与制造工艺

本发明涉及计算机技术领域,具体涉及一种性能监控方法及装置。



背景技术:

随着应用系统在各行各业的普及,应用系统的业务处理量也日益增加,应用系统软件版本的升级更新也越来越快,对应用系统的效率,安全,风险预估等要求也越来越高。

软件开发行业往往关注应用系统投产前的测试工作,也关注投产后生产问题的跟进,但应用系统引而未发的系统风险,隐形问题,则缺少有效的预防与监控手段。

在现有技术中,应用系统的性能分析一般通过手工收集应用系统的运行数据,通过人工分析运行数据对应用系统的性能进行监控,但是人工统计数据的方法效率低下,处理时间长,且容易遗漏,这样对生产问题或者隐藏风险无法及时预知。



技术实现要素:

有鉴于此,本发明提供一种性能监控方法及装置,以解决现有技术中对应用系统的性能监控效率低下的技术问题。

为解决上述问题,本发明提供的技术方案如下:

一种性能监控方法,所述方法包括:

获取应用系统的日志文件;

从所述日志文件获取预设时间段内的任务总量以及所述预设时间段内的单位时间任务量;

从所述日志文件获取各个任务的执行时间以及各个任务的执行时间耗时分布;

在所述执行时间耗时分布中获取各个任务的数据库执行时间;

当所述预设时间段内的任务总量、所述预设时间段内的单位时间任务量、所述各个任务的执行时间、所述各个任务的执行时间耗时分布以及所述各个任务的数据库执行时间中的一项或多项超出预设范围时,产生预警信息。

相应的,所述方法还包括:

从所述日志文件获取数据库的执行信息,从所述数据库的执行信息中获取数据库性能指标数据;

对所述数据库性能指标数据按占用数据库时长进行排序。

相应的,所述方法还包括:

从所述日志文件中获取批量作业的数据库执行时间;

当所述批量作业的数据库执行时间超出预设范围时,产生预警信息。

相应的,当所述预设时间段内的任务总量、所述预设时间段内的单位时间任务量、所述各个任务的执行时间、所述各个任务的执行时间耗时分布以及所述各个任务的数据库执行时间中的一项或多项超出预设范围时,产生预警信息,包括:

计算所述各个任务的执行时间的平均值以及所述各个任务的数据库执行时间的平均值;

当某一任务的执行时间超过执行时间阈值,或者,某一任务的执行时间与所述各个任务的执行时间的平均值之差大于第一阈值,或者,某一任务的数据库执行时间超过数据库执行时间阈值,或者,某一任务的数据库执行时间与所述各个任务的数据库执行时间的平均值之差大于第二阈值,或者,所述预设时间段内的任务总量大于第三阈值,或者,所述预设时间段内的单位时间任务量大于第四阈值,或者,所述各个任务的执行时间耗时分布超出预设范围,产生预警信息。

相应的,所述方法还包括:

根据所述预设时间段内的任务总量、所述预设时间段内的单位时间任务量、所述各个任务的执行时间、所述各个任务的执行时间耗时分布、所述各个任务的数据库执行时间、所述数据库性能指标数据以及所述批量作业的数据库执行时间生成对应的图表进行显示。

一种性能监控装置,所述装置包括:

第一获取单元,用于获取应用系统的日志文件;

第二获取单元,用于从所述日志文件获取预设时间段内的任务总量以及所述预设时间段内的单位时间任务量;

第三获取单元,用于从所述日志文件获取各个任务的执行时间以及各个任务的执行时间耗时分布;

第四获取单元,用于在所述执行时间耗时分布中获取各个任务的数据库执行时间;

预警单元,用于当所述预设时间段内的任务总量、所述预设时间段内的单位时间任务量、所述各个任务的执行时间、所述各个任务的执行时间耗时分布以及所述各个任务的数据库执行时间中的一项或多项超出预设范围时,产生预警信息。

相应的,所述装置还包括:

第五获取单元,用于从所述日志文件获取数据库的执行信息,从所述数据库的执行信息中获取数据库性能指标数据;

排序单元,用于对所述数据库性能指标数据按占用数据库时长进行排序。

相应的,所述装置还包括:

第六获取单元,用于从所述日志文件中获取批量作业的数据库执行时间;

所述预警单元,还用于当所述批量作业的数据库执行时间超出预设范围时,产生预警信息。

相应的,所述预警单元包括:

计算子单元,用于计算所述各个任务的执行时间的平均值以及所述各个任务的数据库执行时间的平均值;

预警子单元,用于当某一任务的执行时间超过执行时间阈值,或者,某一任务的执行时间与所述各个任务的执行时间的平均值之差大于第一阈值,或者,某一任务的数据库执行时间超过数据库执行时间阈值,或者,某一任务的数据库执行时间与所述各个任务的数据库执行时间的平均值之差大于第二阈值,或者,所述预设时间段内的任务总量大于第三阈值,或者,所述预设时间段内的单位时间任务量大于第四阈值,或者,所述各个任务的执行时间耗时分布超出预设范围,产生预警信息。

相应的,所述装置还包括:

显示单元,用于根据所述预设时间段内的任务总量、所述预设时间段内的单位时间任务量、所述各个任务的执行时间、所述各个任务的执行时间耗时分布、所述各个任务的数据库执行时间、所述数据库性能指标数据以及所述批量作业的数据库执行时间生成对应的图表进行显示。

由此可见,本发明实施例具有如下有益效果:

本发明实施例从应用系统的日志文件中可以获取各种性能数据,例如预设时间段内的任务总量、预设时间段内的单位时间任务量、各个任务的执行时间、各个任务的执行时间耗时分布、各个任务的数据库执行时间等等,通过与各个性能数据的预设范围进行比较,筛选出可疑性能数据,及时产生预警信息,可以提醒生产运维人员介入分析,修复系统潜在问题,提高性能监控效率,降低运营风险。

附图说明

图1为本发明实施例中提供的性能监控方法实施例的流程图;

图2为本发明实施例中提供的性能监控装置实施例的示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。

本发明实施例针对现有技术中人工统计应用系统的运行数据,使实现应用系统的性能监控效率低下,处理时间长,且容易遗漏,无法及时预知生产问题或者隐藏风险的技术问题,提出监控应用系统的运行日志,及时发现应用系统中运行数据中异常变化点,并将数据前后变化线性收集,提醒生产运维人员介入分析,修复系统潜在问题,提高系统执行效能,降低运营风险。

基于上述思想,参见图1所示,示出了本发明实施例中提供的性能监控方法实施例,可以包括以下步骤:

步骤101:获取应用系统的日志文件。

在实际应用中,本发明实施例可以应用于IBM Z/OS主机环境,主机环境中可以包括多个CICS,CICS是IBM公司的主机交易服务器。获取应用系统的日志文件可以包括从SMF(System Monitoring Facility,系统监控工具)LOG中获取主机环境的日志文件。

步骤102:从日志文件获取预设时间段内的任务总量以及预设时间段内的单位时间任务量。

在实际应用中任务可以为运行的交易,则可以根据日志文件按照时间间隔统计整个主机环境的交易总量以及每秒交易峰值,也可以按照时间间隔统计各个CICS的交易总量以及每秒交易峰值。

步骤103:从日志文件获取各个任务的执行时间以及各个任务的执行时间耗时分布。

同时,可以按照交易标识从日志文件获取每个交易的执行时间以及各个交易的执行时间耗时分布,一个交易的执行时间耗时分布中可以包括该交易的数据库执行时间、该交易的处理器耗时等等处理一个交易涉及到的各个环节的分别消耗时间。

步骤104:在执行时间耗时分布中获取各个任务的数据库执行时间。

在本实施例中可以按交易标识统计联机时段各个交易的数据库执行时间。

另外,在本发明的一些可能的实现方式中,本发明实施例中提供的性能监控方法还可以包括:

从日志文件获取数据库的执行信息,从数据库的执行信息中获取数据库性能指标数据;

对数据库性能指标数据按占用数据库时长进行排序。

在实际应用中,可以按PLAN统计数据库的执行信息,数据库的执行信息中包括数据库性能指标数据,数据库性能指标数据可以包括DB2CL2、LOCK/LATCH、SYNCHRON.I/O、UPDATE COMMIT、PAGE LATCH、GLOBAL CONTENTION等比较有代表性的数据库性能指标数据。

对数据库性能指标数据按占用数据库时长进行排序,可以获得一段时间内占用数据库消耗时间占比较多的数据库性能指标数据,从而及时发现异常的数据。

在本发明的一些可能的实现方式中,本发明实施例中提供的性能监控方法还可以包括:

从日志文件中获取批量作业的数据库执行时间。

在本实施例中可以在批量作业运行时段统计批量作业的数据库执行时间。

从而本发明实施例可以通过日志文件获得各项性能数据,例如预设时间段内的任务总量、预设时间段内的单位时间任务量、各个任务的执行时间、各个任务的执行时间耗时分布以及各个任务的数据库执行时间、数据库性能指标数据以及批量作业的数据库执行时间等等,可以将各项性能数据保存在历史数据库中,为未来的风险问题预见分析和历史问题的分析提供依据。

步骤105:当预设时间段内的任务总量、预设时间段内的单位时间任务量、各个任务的执行时间、各个任务的执行时间耗时分布以及各个任务的数据库执行时间中的一项或多项超出预设范围时,产生预警信息。

通过比较各项性能数据与其对应的预设范围之间的关系,可以筛选出可以性能数据,产生预警信息。

在本发明的一些可能的实现方式中,本步骤的实现可以包括:

计算各个任务的执行时间的平均值以及各个任务的数据库执行时间的平均值;

当某一任务的执行时间超过执行时间阈值,或者,某一任务的执行时间与各个任务的执行时间的平均值之差大于第一阈值,或者,某一任务的数据库执行时间超过数据库执行时间阈值,或者,某一任务的数据库执行时间与各个任务的数据库执行时间的平均值之差大于第二阈值,或者,预设时间段内的任务总量大于第三阈值,或者,预设时间段内的单位时间任务量大于第四阈值,或者,各个任务的执行时间耗时分布超出预设范围,产生预警信息。

在本发明的一些可能的实现方式中,还可以当批量作业的数据库执行时间超出预设范围时,产生预警信息。

也即对于单个任务的执行时间过长或者超出任务执行时间的平均值过多,可以认为该任务的执行过程可能存在异常,类似的,对于单个任务的数据库执行时间过长或者超出数据库执行时间的平均值过多,可以认为执行该任务时读写数据库的过程可能存在异常;当任务总量过多或者单位时间任务量过多时,可以认为主机环境的负载压力比较大,可以产生预警提示;而当批量作业的数据库执行时间过长,或者,执行时间耗时分布中某项耗时较长时,也可以产生相应的预警信息。

在本发明的一些可能的实现方式中,本发明实施例中提供的性能监控方法还可以包括:

根据预设时间段内的任务总量、预设时间段内的单位时间任务量、各个任务的执行时间、各个任务的执行时间耗时分布、各个任务的数据库执行时间、数据库性能指标数据以及批量作业的数据库执行时间生成对应的图表进行显示。

在本实施例中在将性能数据存入数据库的同时,还可以生成相应的性能数据的图表。

例如,在实际应用中某个CICS每5分钟统计一次该时间段内的任务总量,可以按照时间与任务总量的关系生成折线图,通过图表分析各个CICS之间负载的差异。又例如,可以通过柱状图显示各个数据库性能指标数据,可以使分析更为直观。

这样,本发明实施例从应用系统的日志文件中可以获取各种性能数据,例如预设时间段内的任务总量、预设时间段内的单位时间任务量、各个任务的执行时间、各个任务的执行时间耗时分布、各个任务的数据库执行时间等等,通过与各个性能数据的预设范围进行比较,筛选出可疑性能数据,及时产生预警信息,可以提醒生产运维人员介入分析,修复系统潜在问题,提高性能监控效率,降低运营风险。

参见图2所示,示出了本发明实施例中提供的性能监控装置实施例,可以包括:

第一获取单元201,用于获取应用系统的日志文件。

第二获取单元202,用于从日志文件获取预设时间段内的任务总量以及预设时间段内的单位时间任务量。

第三获取单元203,用于从日志文件获取各个任务的执行时间以及各个任务的执行时间耗时分布。

第四获取单元204,用于在执行时间耗时分布中获取各个任务的数据库执行时间。

预警单元205,用于当预设时间段内的任务总量、预设时间段内的单位时间任务量、各个任务的执行时间、各个任务的执行时间耗时分布以及各个任务的数据库执行时间中的一项或多项超出预设范围时,产生预警信息。

在本发明的一些可能的实现方式中,本发明实施例中提供的性能监控装置还可以包括:

第五获取单元,用于从日志文件获取数据库的执行信息,从数据库的执行信息中获取数据库性能指标数据;

排序单元,用于对数据库性能指标数据按占用数据库时长进行排序。

在本发明的一些可能的实现方式中,本发明实施例中提供的性能监控装置还可以包括:

第六获取单元,用于从日志文件中获取批量作业的数据库执行时间;

预警单元,还用于当批量作业的数据库执行时间超出预设范围时,产生预警信息。

在本发明的一些可能的实现方式中,预警单元可以包括:

计算子单元,用于计算各个任务的执行时间的平均值以及各个任务的数据库执行时间的平均值;

预警子单元,用于当某一任务的执行时间超过执行时间阈值,或者,某一任务的执行时间与各个任务的执行时间的平均值之差大于第一阈值,或者,某一任务的数据库执行时间超过数据库执行时间阈值,或者,某一任务的数据库执行时间与各个任务的数据库执行时间的平均值之差大于第二阈值,或者,预设时间段内的任务总量大于第三阈值,或者,预设时间段内的单位时间任务量大于第四阈值,或者,各个任务的执行时间耗时分布超出预设范围,产生预警信息。

在本发明的一些可能的实现方式中,本发明实施例中提供的性能监控装置还可以包括:

显示单元,用于根据预设时间段内的任务总量、预设时间段内的单位时间任务量、各个任务的执行时间、各个任务的执行时间耗时分布、各个任务的数据库执行时间、数据库性能指标数据以及批量作业的数据库执行时间生成对应的图表进行显示。

这样,本发明实施例从应用系统的日志文件中可以获取各种性能数据,例如预设时间段内的任务总量、预设时间段内的单位时间任务量、各个任务的执行时间、各个任务的执行时间耗时分布、各个任务的数据库执行时间等等,通过与各个性能数据的预设范围进行比较,筛选出可疑性能数据,及时产生预警信息,可以提醒生产运维人员介入分析,修复系统潜在问题,提高性能监控效率,降低运营风险。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1