一种分布式服务系统的性能监控装置和方法

文档序号:8319045阅读:723来源:国知局
一种分布式服务系统的性能监控装置和方法
【技术领域】
[0001] 本发明涉及分布式技术,特别是指一种分布式服务系统的性能监控装置和方法。
【背景技术】
[0002] 木桶由多块木板箍成,盛水量也由这些木板共同决定,若其中一块木板很短,则木 桶的盛水量就被短板所限制,这块短板就成了这个木桶盛水量的"限制因素(或称短板效 应)",若要增加木桶盛水量,需要换掉短板或将短板加长。在分布式服务系统的运行中,一 项工作需要分为多个步骤,每个步骤执行一项任务。有些任务需要串行执行,有些任务则并 发执行,这项工作的耗时是由这些任务执行的时间以及顺序决定的。
[0003] 为了提高服务器的性能和执行效率,需要对整个过程进行监控,统计出每个任务 的执行顺序以及耗时,找到短板才能有的放矢的进行优化。常用的操作系统例如Windows 和Linux都提供了系统工具跟踪一个进程占用的CPU、内存、线程和网络使用等信息,但是 没有办法深入到系统内部进行详细跟踪。目前在分布式服务系统中,所有单个服务都有性 能计数器,能够统计出本服务收到的请求数、执行成功率以及平均耗时等数据。
[0004] 现有技术存在如下问题:当一个工作需要多个服务协同工作才能完成,而且这些 协同过程隐藏在业务逻辑中时,若分布式服务系统出现性能问题,不能取出整个业务流程 的调用过程,往往需要依次排查几个服务才能定位问题所在,排查困难。

【发明内容】

[0005] 本发明要解决的技术问题是提供一种分布式服务系统的性能监控装置和方法,解 决若分布式服务系统出现性能问题,现有技术需要依次排查几个服务才能定位问题的缺 陷。
[0006] 为解决上述技术问题,本发明的实施例提供一种分布式服务系统的性能监控装 置,所述分布式服务系统包括应用服务器,应用服务器用于执行服务流程所包括的至少一 项工作,一项工作包括至少一项任务,所述任务具有对应的性能统计数据;性能监控装置包 括:性能统计组件,与一个应用服务器连接或者嵌入应用服务器,用于提供性能统计接口, 通过所述性能统计接口从应用服务器接收任务的性能统计数据;性能分析组件,用于根据 所述性能统计数据统计出对应的应用服务器执行工作的实时性能。
[0007] 所述的性能监控装置中,性能统计组件具体是可复用代码库,用于向所述性能分 析组件提供对外接口,通过所述对外接口向所述性能分析组件发送所述性能统计数据,或 者供所述性能分析组件主动获取所述性能统计数据。
[0008] 所述的性能监控装置中,性能统计组件具体是可复用代码库,用于在内存中保存 所述性能统计数据,供所述性能分析组件定时从所述内存中采样所述性能统计数据。
[0009] 所述的性能监控装置中,性能分析组件具体是性能分析服务器;性能分析服务器 包括:耗时成功率计算模块,用于根据对应的应用服务器的性能统计数据,统计出实时性能 中的平均耗时和成功率。
[0010] 所述的性能监控装置中,性能分析组件包括:第一表格管理模块,用于将获取的性 能统计数据存放到第一表格中,并记录下当前纳秒级时间作为所述性能统计数据对应的任 务的启动时间;当所述任务结束执行时,将对应的性能统计数据的记录移出第一表格。 [0011] 所述的性能监控装置中,性能分析组件包括:第二表格管理模块,用于计算出一个 任务的运行持续时间以及相对于所属应用服务的偏移时间,并把计算结果记录在第二表格 中,形成实时性能的记录。
[0012] 所述的性能监控装置中,性能分析组件包括:显示单元,用于根据自身策略显示所 述性能统计数据和实时性能,以及按分钟、小时或者天将性能统计数据和实时性能归档保 存到数据库中。
[0013] -种分布式服务系统的性能监控方法,应用于分布式服务系统,分布式服务系统 包括应用服务器,应用服务器执行服务流程所包括的至少一项工作,一项工作包括至少一 项任务,所述任务具有对应的性能统计数据;方法包括:设置性能统计接口,通过所述性能 统计接口从应用服务器接收任务的性能统计数据;根据所述性能统计数据统计出对应的应 用服务器执行工作的实时性能。
[0014] 所述的方法中,根据所述性能统计数据统计出对应的应用服务器执行工作的实时 性能具体包括:根据对应的应用服务器的性能统计数据,统计出实时性能中的平均耗时和 成功率。
[0015] 所述的方法中,根据所述性能统计数据统计出对应的应用服务器执行工作的实时 性能包括:将获取的性能统计数据存放到第一表格TaskRunningTable中,并记录下当前纳 秒级时间作为所述性能统计数据对应的任务的启动时间;当所述任务结束执行时,将对应 的性能统计数据的记录移出第一表格;计算出一个任务的运行持续时间以及相对于所属应 用服务的偏移时间,并把计算结果记录在第二表格TaskAverageTable中,形成实时性能的 记录。
[0016] 本发明的上述技术方案的有益效果如下:在应用服务器执行一项工作的过程中, 由于执行一项工作是通过执行这个工作的若干个任务来实现的,通过提取任务的性能统计 数据,并对这些任务的性能统计数据进行分析,能够得到不同任务的实时性能。
【附图说明】
[0017] 图1表示一个完整工作的执行过程的示意图;
[0018] 图2表示一种分布式服务系统的性能监控装置的结构示意图;
[0019] 图3表示一个工作的执行过程涉及的调用函数的示意图;
[0020] 图4表示一种分布式服务系统的性能监控方法的流程示意图。
【具体实施方式】
[0021] 为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具 体实施例进行详细描述。
[0022] 本发明提供了追踪一项工作的技术,将一项工作进行分解统计,通过图形展现的 方式显示出这一项工作的任务(Task)组成、每个任务执行的成功率、平均耗时,进而为服 务优化提供参考。将这些统计数据保存下来,这些长期的执行数据能为运维人员提供参考。
[0023] 应用服务实际承载任务,接受客户端的请求并处理,应用服务包括至少一个任务。 一个完整工作的执行过程,如图1所示,需要两个应用服务Appl和App
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1