一种分布式服务系统的性能监控装置和方法制造方法及图纸

技术编号:11480949 阅读:67 留言:0更新日期:2015-05-20 15:00
本发明专利技术实施例提供一种分布式服务系统的性能监控装置和方法,分布式服务系统包括应用服务器,应用服务器用于执行服务流程所包括的至少一项工作,一项工作包括至少一项任务,所述任务具有对应的性能统计数据;性能监控装置包括:性能统计组件,与一个应用服务器连接或者嵌入应用服务器,用于提供性能统计接口,通过所述性能统计接口从应用服务器接收任务的性能统计数据;性能分析组件,用于根据所述性能统计数据统计出对应的应用服务器执行工作的实时性能。通过提取任务的性能统计数据,并对这些任务的性能统计数据进行分析,能够得到不同任务的实时性能。

【技术实现步骤摘要】
一种分布式服务系统的性能监控装置和方法
本专利技术涉及分布式技术,特别是指一种分布式服务系统的性能监控装置和方法。
技术介绍
木桶由多块木板箍成,盛水量也由这些木板共同决定,若其中一块木板很短,则木桶的盛水量就被短板所限制,这块短板就成了这个木桶盛水量的“限制因素(或称短板效应)”,若要增加木桶盛水量,需要换掉短板或将短板加长。在分布式服务系统的运行中,一项工作需要分为多个步骤,每个步骤执行一项任务。有些任务需要串行执行,有些任务则并发执行,这项工作的耗时是由这些任务执行的时间以及顺序决定的。为了提高服务器的性能和执行效率,需要对整个过程进行监控,统计出每个任务的执行顺序以及耗时,找到短板才能有的放矢的进行优化。常用的操作系统例如Windows和Linux都提供了系统工具跟踪一个进程占用的CPU、内存、线程和网络使用等信息,但是没有办法深入到系统内部进行详细跟踪。目前在分布式服务系统中,所有单个服务都有性能计数器,能够统计出本服务收到的请求数、执行成功率以及平均耗时等数据。现有技术存在如下问题:当一个工作需要多个服务协同工作才能完成,而且这些协同过程隐藏在业务逻辑中时,若分布式服务系统出现性能问题,不能取出整个业务流程的调用过程,往往需要依次排查几个服务才能定位问题所在,排查困难。
技术实现思路
本专利技术要解决的技术问题是提供一种分布式服务系统的性能监控装置和方法,解决若分布式服务系统出现性能问题,现有技术需要依次排查几个服务才能定位问题的缺陷。为解决上述技术问题,本专利技术的实施例提供一种分布式服务系统的性能监控装置,所述分布式服务系统包括应用服务器,应用服务器用于执行服务流程所包括的至少一项工作,一项工作包括至少一项任务,所述任务具有对应的性能统计数据;性能监控装置包括:性能统计组件,与一个应用服务器连接或者嵌入应用服务器,用于提供性能统计接口,通过所述性能统计接口从应用服务器接收任务的性能统计数据;性能分析组件,用于根据所述性能统计数据统计出对应的应用服务器执行工作的实时性能。所述的性能监控装置中,性能统计组件具体是可复用代码库,用于向所述性能分析组件提供对外接口,通过所述对外接口向所述性能分析组件发送所述性能统计数据,或者供所述性能分析组件主动获取所述性能统计数据。所述的性能监控装置中,性能统计组件具体是可复用代码库,用于在内存中保存所述性能统计数据,供所述性能分析组件定时从所述内存中采样所述性能统计数据。所述的性能监控装置中,性能分析组件具体是性能分析服务器;性能分析服务器包括:耗时成功率计算模块,用于根据对应的应用服务器的性能统计数据,统计出实时性能中的平均耗时和成功率。所述的性能监控装置中,性能分析组件包括:第一表格管理模块,用于将获取的性能统计数据存放到第一表格中,并记录下当前纳秒级时间作为所述性能统计数据对应的任务的启动时间;当所述任务结束执行时,将对应的性能统计数据的记录移出第一表格。所述的性能监控装置中,性能分析组件包括:第二表格管理模块,用于计算出一个任务的运行持续时间以及相对于所属应用服务的偏移时间,并把计算结果记录在第二表格中,形成实时性能的记录。所述的性能监控装置中,性能分析组件包括:显示单元,用于根据自身策略显示所述性能统计数据和实时性能,以及按分钟、小时或者天将性能统计数据和实时性能归档保存到数据库中。一种分布式服务系统的性能监控方法,应用于分布式服务系统,分布式服务系统包括应用服务器,应用服务器执行服务流程所包括的至少一项工作,一项工作包括至少一项任务,所述任务具有对应的性能统计数据;方法包括:设置性能统计接口,通过所述性能统计接口从应用服务器接收任务的性能统计数据;根据所述性能统计数据统计出对应的应用服务器执行工作的实时性能。所述的方法中,根据所述性能统计数据统计出对应的应用服务器执行工作的实时性能具体包括:根据对应的应用服务器的性能统计数据,统计出实时性能中的平均耗时和成功率。所述的方法中,根据所述性能统计数据统计出对应的应用服务器执行工作的实时性能包括:将获取的性能统计数据存放到第一表格TaskRunningTable中,并记录下当前纳秒级时间作为所述性能统计数据对应的任务的启动时间;当所述任务结束执行时,将对应的性能统计数据的记录移出第一表格;计算出一个任务的运行持续时间以及相对于所属应用服务的偏移时间,并把计算结果记录在第二表格TaskAverageTable中,形成实时性能的记录。本专利技术的上述技术方案的有益效果如下:在应用服务器执行一项工作的过程中,由于执行一项工作是通过执行这个工作的若干个任务来实现的,通过提取任务的性能统计数据,并对这些任务的性能统计数据进行分析,能够得到不同任务的实时性能。附图说明图1表示一个完整工作的执行过程的示意图;图2表示一种分布式服务系统的性能监控装置的结构示意图;图3表示一个工作的执行过程涉及的调用函数的示意图;图4表示一种分布式服务系统的性能监控方法的流程示意图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。本专利技术提供了追踪一项工作的技术,将一项工作进行分解统计,通过图形展现的方式显示出这一项工作的任务(Task)组成、每个任务执行的成功率、平均耗时,进而为服务优化提供参考。将这些统计数据保存下来,这些长期的执行数据能为运维人员提供参考。应用服务实际承载任务,接受客户端的请求并处理,应用服务包括至少一个任务。一个完整工作的执行过程,如图1所示,需要两个应用服务App1和App2,App1中执行任务TaskA和TaskD,App2中执行TaskB和TaskC,其中,TaskB和TaskC可以并发执行也可以顺序执行。本专利技术实施例提供一种分布式服务系统的性能监控装置,如图2所示,所述分布式服务系统包括应用服务器,应用服务器用于执行服务流程所包括的至少一项工作,一项工作包括至少一项任务,所述任务具有对应的性能统计数据;性能监控装置包含:性能统计组件,与一个应用服务器连接或者嵌入应用服务器,用于提供性能统计接口,通过所述性能统计接口从应用服务器接收任务的性能统计数据;性能分析组件,用于根据所述性能统计数据统计出对应的应用服务器执行工作的实时性能。应用所提供的技术,在应用服务器执行一项工作的过程中,由于执行一项工作是通过执行这个工作的若干个任务来实现的,通过提取任务的性能统计数据,并对这些任务的性能统计数据进行分析,能够得到不同任务的实时性能。性能统计数据包括任务的开始信息、结束信息。性能统计组件向应用服务器提供给应用服务性能计数的接口,在一个优选实施例中,性能统计组件具体是可复用代码库,向所述性能分析组件提供对外接口,通过所述对外接口向所述性能分析组件发送所述性能统计数据,或者供所述性能分析组件主动获取所述性能统计数据。为不影响应用服务器的执行效率,在一个优选实施例中,性能统计组件具体是可复用代码库,用于在内存中保存所述性能统计数据,供所述性能分析组件定时从所述内存中采样所述性能统计数据。性能统计组件的元数据设计:任务Task是最小执行单位,如图3所示,一个任务Task的执行伪代码表示为:用于记录任务Task执行过程的统计类TaskTrace则是:在一个优选实施例中,性能分本文档来自技高网...

【技术保护点】
一种分布式服务系统的性能监控装置,所述分布式服务系统包括应用服务器,应用服务器用于执行服务流程所包括的至少一项工作,一项工作包括至少一项任务,所述任务具有对应的性能统计数据;其特征在于,性能监控装置包括:性能统计组件,与一个应用服务器连接或者嵌入应用服务器,用于提供性能统计接口,通过所述性能统计接口从应用服务器接收任务的性能统计数据;性能分析组件,用于根据所述性能统计数据统计出对应的应用服务器执行工作的实时性能。

【技术特征摘要】
1.一种分布式服务系统的性能监控装置,所述分布式服务系统包括应用服务器,应用服务器用于执行服务流程所包括的至少一项工作,一项工作包括至少一项任务,所述任务具有对应的性能统计数据;其特征在于,性能监控装置包括:性能统计组件,与一个应用服务器连接或者嵌入应用服务器,用于提供性能统计接口,通过所述性能统计接口从应用服务器接收任务的性能统计数据;性能分析组件,用于根据所述性能统计数据统计出对应的应用服务器执行工作的实时性能;性能统计组件具体是可复用代码库,用于在内存中保存所述性能统计数据,供所述性能分析组件定时从所述内存中采样所述性能统计数据,其中,性能统计组件的元数据设计中,任务Task是最小执行单位;性能分析组件包括:显示单元,用于根据自身策略显示所述性能统计数据和实时性能,以及按分钟、小时或者天将性能统计数据和实时性能归档保存到数据库中,最终会形成一个数据集表,详细记录一次分布式调用中每个步骤地平均耗时以及成功率。2.根据权利要求1所述的性能监控装置,其特征在于,性能统计组件具体是可复用代码库,用于向所述性能分析组件提供对外接口,通过所述对外接口向所述性能分析组件发送所述性能统计数据,或者供所述性能分析组件主动获取所述性能统计数据。3.根据权利要求1所述的性能监控装置,其特征在于,性能分析组件具体是性能分析服务器;性能分析服务器包括:耗时成功率计算模块,用于根据对应的应用服务器的性能统计数据,统计出实时性能中的平均耗时和成功率。4.根据权利要求1所述的性能监控装置,其特征在于,性能分析组件包括:第一表格管理模块,用于将获取的性能统计数据存放到第一表格中,并记录下当前纳秒级时间作为所述性能统计数据对应的任务的启动时间;当所述任务结束执行时,将对应的性能统计数据的记录移出第一表格。5.根...

【专利技术属性】
技术研发人员:白琳王钢张慧芳陈昌文王继伟
申请(专利权)人:中国移动通信集团广东有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1