一种性能监控方法、设备和系统技术方案

技术编号:11548620 阅读:94 留言:0更新日期:2015-06-03 22:31
本发明专利技术公开了一种性能监控方法,该方法包括:在第一应用服务器处接收第一访问请求,该第一访问请求请求访问第一应用服务器中的一个或者多个第一应用;在第一应用服务器处理第一访问请求之前,在该第一应用中插入第一监控对象,以便获取第一应用的执行性能信息;当第一应用在处理第一访问请求期间需要调用第二应用服务器中的一个或者多个第二应用时,生成第二访问请求,并发送到第二应用服务器,第二访问请求包括第一访问请求的标识;将所获取的第一应用的执行性能信息连同标识一起发送到性能统计服务器,以便性能统计服务器对处理该第一访问请求的性能进行分析。本发明专利技术还提供了一种性能监控装置以及包括该装置的性能监控系统。

【技术实现步骤摘要】
一种性能监控方法、设备和系统
本专利技术涉及应用性能监控
,尤其涉及一种跨应用调用的性能监控方法。
技术介绍
随着互联网的日益普及,越来越多的企业通过网络服务器以及应用服务器向用户提供各种产品和服务。与传统的企业内使用的专业软件不同,现在的系统采用分布式、虚拟化的架构。例如企业会采用分布式的架构部署其应用服务器,多个不同的应用部署在不同的应用服务器处,因此通常需要调用在不同应用服务器中的不同应用来执行一个事务。对于软件的开发者和运营者来说,监控这种涉及到多个应用服务器上多个应用的事务的性能更加困难。而且,开发者一般仅仅在发布产品前做有限的模拟性能测试,但这种测试的环境与实际商业运行的环境相去甚远,难以反映真实环境下可能出现的问题。例如,在繁忙时段用户可能在网站购物时尝试多次支付仍不能成功,或者在智能手机的应用使用过程中出现没有响应的情况。然而,开发者却不能及时获得关于代码性能的反馈,更无法了解问题的起源并做出相应修正。结果,性能体验的问题会造成用户满意度下降,给企业营收造成巨大损失。在目前的性能监控方式中,可通过分析用户客户端上报的日志来监控系统性能数据,但客户端通常在故障时才上报日志,缺乏实时性,并且日志数据不够精确,无法进行代码级别的追踪。此外,也无法实现对执行某个需要调用分布在不同应用服务器上的不同应用的事务的性能监控。因此,需要一种可更好地应对用户使用时的复杂场景的技术方案。
技术实现思路
鉴于此,本专利技术提供了一种性能监控方法,以力图解决或至少缓解上面存在的问题。根据本专利技术的一个方面,提供了一种性能监控方法,该方法包括:在第一应用服务器处接收第一访问请求,该第一访问请求请求访问第一应用服务器中的一个或者多个第一应用;在第一应用服务器处理第一访问请求之前,在第一应用中插入第一监控对象,以便在第一应用处理第一访问请求时,执行该第一监控对象以获取第一应用的执行性能信息;当第一应用服务器中的一个或者多个第一应用在处理第一访问请求期间需要调用第二应用服务器中的一个或者多个第二应用时,根据第一访问请求生成第二访问请求,并且将第二访问请求发送到第二应用服务器,该第二访问请求包括第一访问请求的标识;将所获取的第一应用的执行性能信息连同第一访问请求的标识一起发送到性能统计服务器,以便性能统计服务器根据来自第一应用服务器的执行性能信息以及第二应用服务器的执行性能信息来对处理该第一访问请求的性能进行分析。可选地,在根据本专利技术的性能监控方法中,还包括步骤:在第二应用服务器处接收第二访问请求;在第二应用服务器处理第二访问请求之前,在第二应用中插入第二监控对象,以便在第二应用处理第二访问请求时,执行第二监控对象以获取第二应用的执行性能信息,该第二监控对象包括第一访问请求的标识,以及所获取的第二应用的执行性能信息中包括第一访问请求的标识;以及将所获取的第二应用的执行性能信息连同第二访问请求的标识一起发送到性能统计服务器。可选地,在根据本专利技术的性能监控方法中,在第一应用中插入第一监控对象的步骤之前还包括:根据预置的配置文件,判断是否需要在第一应用中插入第一监控对象。可选地,在根据本专利技术的性能监控方法中,在第二应用中插入第二监控对象的步骤之前还包括:根据预置的配置文件,判断是否需要在第二应用中插入第二监控对象。可选地,在根据本专利技术的性能监控方法中,在第一应用中插入第一监控对象的步骤还包括:检测第一访问请求中是否包括第三访问请求的标识;若是,在第一应用中插入第一监控对象,以便在第一应用处理第一访问请求时,执行第一监控对象以获取第一应用的执行性能信息,该第一监控对象包括第三访问请求的标识,以及所获取的第一应用的执行性能信息中包括第三访问请求的标识。可选地,在根据本专利技术的性能监控方法中,第一访问请求、第二访问请求和第三访问请求为http访问请求,其中标识位于对应访问请求的header字段中。可选地,在根据本专利技术的性能监控方法中,第一访问请求、第二访问请求和第三访问请求均包括时间戳。可选地,在根据本专利技术的性能监控方法中,第一访问请求、第二访问请求和第三访问请求的标识均包括该访问请求对应的应用服务器的标识。根据本专利技术的另一个方面,提供了一种性能监控装置,驻留在第一应用服务器中,该装置包括:插装对象模块,适于在其所驻留的第一应用服务器处接收第一访问请求,该第一访问请求请求访问第一应用服务器中的一个或者多个第一应用;还适于在第一应用服务器处理第一访问请求之前,在第一应用中插入第一监控对象,以便在第一应用处理第一访问请求时,执行该第一监控对象以获取第一应用的执行性能信息;请求生成模块,适于当第一应用服务器中的一个或者多个第一应用在处理第一访问请求期间需要调用耦接到第一应用服务器的第二应用服务器中的一个或者多个第二应用时,根据第一访问请求生成第二访问请求,并且将第二访问请求发送到第二应用服务器,该第二访问请求包括第一访问请求的标识;以及上传数据模块,适于将所获取的第一应用的执行性能信息连同第一访问请求的标识一起发送到性能统计服务器,以便性能统计服务器根据来自第一应用服务器的执行性能信息以及第二应用服务器的执行性能信息来对处理该第一访问请求的性能进行分析。可选地,在根据本专利技术的性能监控装置中,插装对象模块还包括检测模块,该检测模块适于根据预置的配置文件,判断是否需要在第一应用中插入第一监控对象。可选地,在根据本专利技术的性能监控装置中,检测模块适于检测第一访问请求中是否包括第三访问请求的标识,若是,则在第一应用中插入第一监控对象,以便在第一应用处理第一访问请求时,执行第一监控对象以获取第一应用的执行性能信息,该第一监控对象包括第三访问请求的标识,以及所获取的第一应用的执行性能信息中包括第三访问请求的标识。可选地,在根据本专利技术的性能监控装置中,第一访问请求、第二访问请求和第三访问请求为http访问请求,其中标识位于对应访问请求的header字段中。可选地,在根据本专利技术的性能监控装置中,第一访问请求、第二访问请求和第三访问请求均包括时间戳。可选地,在根据本专利技术的性能监控装置中,第一访问请求、第二访问请求和第三访问请求的标识均包括该访问请求对应的应用服务器的标识。根据本专利技术的还有一个方面,提供了一种性能监控系统,该系统包括:一个或多个应用服务器,该一个或多个应用服务器中驻留有根据本专利技术的性能监控装置;以及性能监控服务器,适于接收一个或多个应用服务器中性能监控装置上传的执行性能信息,并根据来自一个或多个应用服务器的执行性能信息对处理访问请求的性能进行分析。根据本专利技术的性能监控方案,通过在处理跨应用访问请求过程中调用的多个不同应用服务器上的多个应用中插装监控对象,在该应用处理其接收的访问请求时执行监控对象获得对应应用的执行性能信息,从而实现了代码级别的性能追踪。同时,通过将访问请求的标识插装至对应应用的监控对象中,获得包含该访问请求标识的执行性能信息,并将其上传至性能统计服务器,以便性能统计服务器根据来自多个应用服务器的执行性能信息及其标识来对处理跨应用访问请求的性能进行分析,实现了对跨应用调用访问请求的性能监控。附图说明为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所本文档来自技高网...

【技术保护点】
一种性能监控方法,该方法包括:在第一应用服务器处接收第一访问请求,所述第一访问请求请求访问所述第一应用服务器中的一个或者多个第一应用;在所述第一应用服务器处理所述第一访问请求之前,在所述第一应用中插入第一监控对象,以便在第一应用处理所述第一访问请求时,执行所述第一监控对象以获取第一应用的执行性能信息;当第一应用服务器中的一个或者多个第一应用在处理所述第一访问请求期间需要调用第二应用服务器中的一个或者多个第二应用时,根据所述第一访问请求生成第二访问请求,并且将第二访问请求发送到第二应用服务器,所述第二访问请求包括第一访问请求的标识;将所获取的第一应用的执行性能信息连同所述第一访问请求的标识一起发送到性能统计服务器,以便性能统计服务器根据来自第一应用服务器的执行性能信息以及第二应用服务器的执行性能信息来对处理该第一访问请求的性能进行分析。

【技术特征摘要】
1.一种性能监控方法,该方法包括:在第一应用服务器处接收第一访问请求,所述第一访问请求请求访问所述第一应用服务器中的一个或者多个第一应用;在所述第一应用服务器处理所述第一访问请求之前,根据预置的配置文件,判断是否需要在所述第一应用中插入第一监控对象,所述配置文件存储需要被监控的类或方法;当检测到所述第一访问请求请求访问的第一应用中的需要被监控的类或方法要被加载时,在所述第一应用中插入第一监控对象,以便在第一应用处理所述第一访问请求时,执行所述第一监控对象以获取第一应用的执行性能信息;当第一应用服务器中的一个或者多个第一应用在处理所述第一访问请求期间需要调用第二应用服务器中的一个或者多个第二应用时,根据所述第一访问请求生成第二访问请求,并且将第二访问请求发送到第二应用服务器,所述第二访问请求包括第一访问请求的标识,所述第一访问请求的标识用于唯一地识别其对应的应用以及应用服务器;将所获取的第一应用的执行性能信息连同所述第一访问请求的标识一起发送到性能统计服务器,以便性能统计服务器根据来自第一应用服务器的执行性能信息以及第二应用服务器的执行性能信息来对处理该第一访问请求的性能进行分析。2.如权利要求1所述的性能监控方法,还包括步骤:在第二应用服务器处接收所述第二访问请求;在第二应用服务器处理所述第二访问请求之前,在所述第二应用中插入第二监控对象,以便在第二应用处理所述第二访问请求时,执行所述第二监控对象以获取第二应用的执行性能信息,所述第二监控对象包括第一访问请求的标识,以及所获取的第二应用的执行性能信息中包括所述第一访问请求的标识;以及将所获取的第二应用的执行性能信息连同所述第二访问请求的标识一起发送到性能统计服务器。3.如权利要求1所述的方法,所述在所述第二应用中插入第二监控对象的步骤之前还包括:根据预置的配置文件,判断是否需要在所述第二应用中插入第二监控对象。4.如权利要求1所述的方法,所述在所述第一应用中插入第一监控对象的步骤还包括:检测所述第一访问请求中是否包括第三访问请求的标识;若是,在所述第一应用中插入第一监控对象以便在第一应用处理所述第一访问请求时,执行所述第一监控对象以获取第一应用的执行性能信息,所述第一监控对象包括第三访问请求的标识,以及所获取的第一应用的执行性能信息中包括所述第三访问请求的标识。5.如权利要求4所述的方法,所述第一访问请求、第二访问请求和第三访问请求为http访问请求,其中所述标识位于对应访问请求的header字段中。6.如权利要求4所述的方法,所述第一访问请求、第二访问请求和第三访问请求均包括时间戳。7.如权利要求1-6中任一所述的方法,所述第一...

【专利技术属性】
技术研发人员:赵海俊何冰清洪森张超王子铭黄东何晓阳
申请(专利权)人:北京蓝海讯通科技有限公司
类型:发明
国别省市:北京;11

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

1