CN104683181A - 一种性能监控方法、设备和系统 - Google Patents

一种性能监控方法、设备和系统 Download PDF

Info

Publication number
CN104683181A
CN104683181A CN201510077178.0A CN201510077178A CN104683181A CN 104683181 A CN104683181 A CN 104683181A CN 201510077178 A CN201510077178 A CN 201510077178A CN 104683181 A CN104683181 A CN 104683181A
Authority
CN
China
Prior art keywords
access request
application
application server
monitored object
mark
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510077178.0A
Other languages
English (en)
Other versions
CN104683181B (zh
Inventor
赵海俊
何冰清
洪森
张超
王子铭
黄东
何晓阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING ONEAPM Co.,Ltd.
Original Assignee
Peking Blue Hai Xuntong Science And Technology Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking Blue Hai Xuntong Science And Technology Ltd filed Critical Peking Blue Hai Xuntong Science And Technology Ltd
Priority to CN201510077178.0A priority Critical patent/CN104683181B/zh
Publication of CN104683181A publication Critical patent/CN104683181A/zh
Application granted granted Critical
Publication of CN104683181B publication Critical patent/CN104683181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种性能监控方法、设备和系统
技术领域
本发明涉及应用性能监控技术领域,尤其涉及一种跨应用调用的性能监控方法。
背景技术
随着互联网的日益普及,越来越多的企业通过网络服务器以及应用服务器向用户提供各种产品和服务。与传统的企业内使用的专业软件不同,现在的系统采用分布式、虚拟化的架构。例如企业会采用分布式的架构部署其应用服务器,多个不同的应用部署在不同的应用服务器处,因此通常需要调用在不同应用服务器中的不同应用来执行一个事务。对于软件的开发者和运营者来说,监控这种涉及到多个应用服务器上多个应用的事务的性能更加困难。而且,开发者一般仅仅在发布产品前做有限的模拟性能测试,但这种测试的环境与实际商业运行的环境相去甚远,难以反映真实环境下可能出现的问题。例如,在繁忙时段用户可能在网站购物时尝试多次支付仍不能成功,或者在智能手机的应用使用过程中出现没有响应的情况。然而,开发者却不能及时获得关于代码性能的反馈,更无法了解问题的起源并做出相应修正。结果,性能体验的问题会造成用户满意度下降,给企业营收造成巨大损失。
在目前的性能监控方式中,可通过分析用户客户端上报的日志来监控系统性能数据,但客户端通常在故障时才上报日志,缺乏实时性,并且日志数据不够精确,无法进行代码级别的追踪。此外,也无法实现对执行某个需要调用分布在不同应用服务器上的不同应用的事务的性能监控。
因此,需要一种可更好地应对用户使用时的复杂场景的技术方案。
发明内容
鉴于此,本发明提供了一种性能监控方法,以力图解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种性能监控方法,该方法包括:在第一应用服务器处接收第一访问请求,该第一访问请求请求访问第一应用服务器中的一个或者多个第一应用;在第一应用服务器处理第一访问请求之前,在第一应用中插入第一监控对象,以便在第一应用处理第一访问请求时,执行该第一监控对象以获取第一应用的执行性能信息;当第一应用服务器中的一个或者多个第一应用在处理第一访问请求期间需要调用第二应用服务器中的一个或者多个第二应用时,根据第一访问请求生成第二访问请求,并且将第二访问请求发送到第二应用服务器,该第二访问请求包括第一访问请求的标识;将所获取的第一应用的执行性能信息连同第一访问请求的标识一起发送到性能统计服务器,以便性能统计服务器根据来自第一应用服务器的执行性能信息以及第二应用服务器的执行性能信息来对处理该第一访问请求的性能进行分析。
可选地,在根据本发明的性能监控方法中,还包括步骤:在第二应用服务器处接收第二访问请求;在第二应用服务器处理第二访问请求之前,在第二应用中插入第二监控对象,以便在第二应用处理第二访问请求时,执行第二监控对象以获取第二应用的执行性能信息,该第二监控对象包括第一访问请求的标识,以及所获取的第二应用的执行性能信息中包括第一访问请求的标识;以及将所获取的第二应用的执行性能信息连同第二访问请求的标识一起发送到性能统计服务器。
可选地,在根据本发明的性能监控方法中,在第一应用中插入第一监控对象的步骤之前还包括:根据预置的配置文件,判断是否需要在第一应用中插入第一监控对象。
可选地,在根据本发明的性能监控方法中,在第二应用中插入第二监控对象的步骤之前还包括:根据预置的配置文件,判断是否需要在第二应用中插入第二监控对象。
可选地,在根据本发明的性能监控方法中,在第一应用中插入第一监控对象的步骤还包括:检测第一访问请求中是否包括第三访问请求的标识;若是,在第一应用中插入第一监控对象,以便在第一应用处理第一访问请求时,执行第一监控对象以获取第一应用的执行性能信息,该第一监控对象包括第三访问请求的标识,以及所获取的第一应用的执行性能信息中包括第三访问请求的标识。
可选地,在根据本发明的性能监控方法中,第一访问请求、第二访问请求和第三访问请求为http访问请求,其中标识位于对应访问请求的header字段中。
可选地,在根据本发明的性能监控方法中,第一访问请求、第二访问请求和第三访问请求均包括时间戳。
可选地,在根据本发明的性能监控方法中,第一访问请求、第二访问请求和第三访问请求的标识均包括该访问请求对应的应用服务器的标识。
根据本发明的另一个方面,提供了一种性能监控装置,驻留在第一应用服务器中,该装置包括:插装对象模块,适于在其所驻留的第一应用服务器处接收第一访问请求,该第一访问请求请求访问第一应用服务器中的一个或者多个第一应用;还适于在第一应用服务器处理第一访问请求之前,在第一应用中插入第一监控对象,以便在第一应用处理第一访问请求时,执行该第一监控对象以获取第一应用的执行性能信息;请求生成模块,适于当第一应用服务器中的一个或者多个第一应用在处理第一访问请求期间需要调用耦接到第一应用服务器的第二应用服务器中的一个或者多个第二应用时,根据第一访问请求生成第二访问请求,并且将第二访问请求发送到第二应用服务器,该第二访问请求包括第一访问请求的标识;以及上传数据模块,适于将所获取的第一应用的执行性能信息连同第一访问请求的标识一起发送到性能统计服务器,以便性能统计服务器根据来自第一应用服务器的执行性能信息以及第二应用服务器的执行性能信息来对处理该第一访问请求的性能进行分析。
可选地,在根据本发明的性能监控装置中,插装对象模块还包括检测模块,该检测模块适于根据预置的配置文件,判断是否需要在第一应用中插入第一监控对象。
可选地,在根据本发明的性能监控装置中,检测模块适于检测第一访问请求中是否包括第三访问请求的标识,若是,则在第一应用中插入第一监控对象,以便在第一应用处理第一访问请求时,执行第一监控对象以获取第一应用的执行性能信息,该第一监控对象包括第三访问请求的标识,以及所获取的第一应用的执行性能信息中包括第三访问请求的标识。
可选地,在根据本发明的性能监控装置中,第一访问请求、第二访问请求和第三访问请求为http访问请求,其中标识位于对应访问请求的header字段中。
可选地,在根据本发明的性能监控装置中,第一访问请求、第二访问请求和第三访问请求均包括时间戳。
可选地,在根据本发明的性能监控装置中,第一访问请求、第二访问请求和第三访问请求的标识均包括该访问请求对应的应用服务器的标识。
根据本发明的还有一个方面,提供了一种性能监控系统,该系统包括:一个或多个应用服务器,该一个或多个应用服务器中驻留有根据本发明的性能监控装置;以及性能监控服务器,适于接收一个或多个应用服务器中性能监控装置上传的执行性能信息,并根据来自一个或多个应用服务器的执行性能信息对处理访问请求的性能进行分析。
根据本发明的性能监控方案,通过在处理跨应用访问请求过程中调用的多个不同应用服务器上的多个应用中插装监控对象,在该应用处理其接收的访问请求时执行监控对象获得对应应用的执行性能信息,从而实现了代码级别的性能追踪。同时,通过将访问请求的标识插装至对应应用的监控对象中,获得包含该访问请求标识的执行性能信息,并将其上传至性能统计服务器,以便性能统计服务器根据来自多个应用服务器的执行性能信息及其标识来对处理跨应用访问请求的性能进行分析,实现了对跨应用调用访问请求的性能监控。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个示例性实施例的性能监控系统100的结构框图;
图2示出了根据本发明的另一个示例性实施例的性能监控系统100的结构框图;
图3示出了根据本发明的还有一个示例性实施例的性能监控系统100的结构框图;
图4示出了根据本发明一个实施例的性能监控装置200的结构示意图;以及
图5示出了根据本发明一个实施例的性能监控方法的流程图;以及
图6示出了根据本发明另一个实施例的性能监控方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是根据本发明一个示例性实施例的性能监控系统100的结构框图。性能监控系统100可以包括性能监控服务器110以及一个或多个应用服务器120。其中,应用服务器上驻留有根据本发明的性能监控装置200。性能监控服务器110以及一个或多个应用服务器120之间通过网络连接。
图2示出了根据本发明的性能监控系统100的又一个实施例结构框图。如图2所示,性能监控系统100可以包括性能监控服务器110、第一应用服务器120以及第二应用服务器120。性能监控服务器110、第一应用服务器120和第二应用服务器120之间通过网络连接。其中,第一应用服务器120上存储有一个或多个第一应用,第二应用服务器120上存储有一个或多个第二应用,以便应用服务器接收到用户的访问请求时调用相应的应用进行处理。第一应用服务器120和第二应用服务器120上均驻留有根据本发明的性能监控装置200。
图4示出了根据本发明一个示例性实施例的性能监控装置200的结构框图,性能监控装置200可以包括插装对象模块220、生成请求模块240以及上传数据模块260。
用户可以通过web浏览器或应用客户端经由网络访问第一应用服务器120。性能监控装置200包含在第一应用服务器120中,其中的插装对象模块220接收第一访问请求,并确定为了响应和处理该第一访问请求,需要调用第一应用服务器中的那些第一应用。第一访问请求可以是经由http(s)协议而传输到第一应用服务器120。
插装对象模块220在第一应用服务器120处理第一访问请求之前,在第一应用中插入第一监控对象,以便在第一应用处理第一访问请求时,执行第一监控对象以获取第一应用的执行性能信息。
其中插装对象模块220还可以包括检测模块。在第一应用服务器处理第一访问请求之前,检测模块根据预置的配置文件,判断是否需要在第一应用中插入第一监控对象。具体来说,当检测模块检测到第一访问请求请求访问的第一应用中的需要被监控的某些类或方法要被加载时,插装对象模块220在该第一应用中插入第一监控对象。该第一监控对象通常是一些监控代码。当第一应用为了处理第一访问请求,执行第一应用中的某些类或方法时,同时也执行了插装在其中的第一监控对象,第一监控对象从而可以获取该第一应用的执行性能信息,例如执行时间、线程信息、错误信息等。需要被监控的某些类或方法可以存储在预置的配置文件中,该配置文件一般为XML或者YML格式。应当注意的是,需要被监控的对象还可以是接口、过滤器或其定义的方法,还可以由用户根据根据实际情况配置,本发明对此不做限制。
如图2所示,性能监控系统100还可以包括第三应用服务器120,与第一应用服务器120和第二应用服务器120相同,第三应用服务器上存储有一个或多个第三应用,并同样驻留有性能监控装置200。
插装对象模块220在第一应用中插入第一监控对象时,检测模块检测第一访问请求中是否包括第三访问请求的标识,该标识可以是应用id或sessionid等信息,通常可用于唯一地识别其对应的应用以及应用服务器。例如当应用接收到基于http(s)协议的请求时,可以检查请求的header字段中是否存在先前应用的id。
若第一访问请求中包括第三访问请求的标识,则插装对象模块220在将要插入第一应用的第一监控对象中写入第三访问请求的标识。而后,第一应用处理第一访问请求、执行第一监控对象,插装对象模块220获取第一应用的执行性能信息,所获取的第一应用的执行性能信息中也包括第三访问请求的标识。
通常地,企业会采用分布式的架构部署其应用服务器,多个不同的应用部署在不同的应用服务器。因此通常需要调用在不同应用服务器中的不同应用来处理一个访问请求。当第一应用服务器120中的一个或者多个第一应用在处理第一访问请求期间需要调用第二应用服务器120中的一个或者多个第二应用时,生成请求模块240根据第一访问请求生成第二访问请求,并且将第二访问请求发送到第二应用服务器120。第二访问请求包括第一访问请求的标识。第一访问请求、第二访问请求和第三访问请求通常是基于http(s)协议的请求,生成请求模块240将第一访问请求的标识写入第三访问请求的header字段中。第一访问请求、第二访问请求和第三访问请求的标识可以是应用id或session id等信息,通常可用于唯一地识别其对应的应用以及应用服务器。该标识还可以包括访问请求对应的应用服务器的标识和时间戳。
第二应用服务器120接收来自第一应用服务器120的第二访问请求,驻留在第二应用服务器120中的性能监控装置200在第二应用服务器120处理第二访问请求之前,在第二应用中插入第二监控对象,以便在第二应用处理第二访问请求时,执行所述第二监控对象以获取第二应用的执行性能信息。可知该第二监控对象包括第一访问请求的标识,以及所获取的第二应用的执行性能信息中包括第一访问请求的标识。第二应用服务器120结构同第一应用服务器相同,在结合图3对第一应用服务器120中性能监控装置200的具体描述中已经对处理访问请求的各步骤进行了详细说明,此处不再赘述。
第一应用和第二应用处理完相应的访问请求后,第一应用服务器120中的上传数据模块260和第二应用服务器120中的上传数据模块260将所获取到的第一应用的执行性能信息连同第一访问请求的标识、以及第二应用的执行性能信息连同第二访问请求的标识一起发送至性能统计服务器110。
性能统计服务器110接收来自第一应用服务器120的执行性能信息和第一访问请求的标识,以及来自第二应用服务器120的执行性能信息和第二访问请求的标识,并根据标识结合来自第一应用服务器120的执行性能信息和第二应用服务器120的执行性能信息来对处理第一访问请求的性能进行分析。
图3示出了根据本发明的性能监控系统100的还有一个实施例的示意图。该性能监控系统100包括性能监控服务器110、由企业部署和运营的企业服务器和多个用户计算终端。其中,企业服务器可以向用户计算终端提供各种服务,如web和应用服务。对于企业而言,其可能会具有多个不同的应用部署在不同的应用服务器,甚至部署在不同的企业服务器中,对于企业的某个业务而言,在业务处理期间,需要调用不同的应用。
用户计算终端上安装有web浏览器和/或app应用客户端,通过网络访问一个或者多个企业服务器,一个或者多个企业服务器的web服务器接收到用户计算终端的http(s)请求后,在该企业服务器上的应用服务器120执行相应的业务并将结果通过web服务器返回给用户计算终端。
各企业服务器的应用服务器120中均嵌入有性能监控装置200,该装置200通常在JVM(Java虚拟机)上执行。
当性能监控装置200检测到某些类(还可以是Java中的类、接口、过滤器、以及类、接口、过滤器中定义的方法)要被加载时,性能监控装置200就将相应的监控代码插装到该类中。这些监控代码可以在该类的执行过程中获取关于性能的采样数据,包括执行时间、线程信息、错误信息等。
其中进一步地,应用服务器120上某个应用接收到http(s)请求时,首先会检查在该请求的http(s)的header中是否存在有先前应用的id以及一些类似于session id的信息;如果有,则在对处理该http(s)请求的第一个类的实例进行监控代码插装时,从http(s)header的cookie中读取先前应用的id和先前应用调用的唯一标识(或者从session中读取),并且写入到监控代码的某个字段中。监控代码执行后获取到的执行性能信息则包括了先前应用的id和先前应用调用的唯一标识。
在处理该http(s)请求的过程中,当前应用服务器120检测到响应该请求需要调用其它应用服务器120中的应用时,性能监控装置200生成跨应用调用的http(s)请求,并将当前应用id,当前session的唯一标识写入该生成的http(s)请求的header中。其他应用服务器响应http(s)请求的步骤同上,此处不再赘述。
在http请求需要调用的各应用处理完成后,相应应用的执行性能信息存储在其企业服务器中。这些执行性能信息由各应用所在的各应用服务器120中性能监控装置200上传至性能监控服务器110。通常是定期(例如每隔一分钟)将这些执行性能信息发送给性能监控服务器110。
性能监控服务器110可以包含性能数据分析组件112和web服务器114,其web服务器114接收到由企业服务器发送的上述执行性能信息后,将这些信息送往性能数据分析组件112,由性能数据分析组件112根据这些执行性能信息中的标识对执行性能信息进行组合并分析,从而得出关于整个跨应用业务性能的各种加工数据,如各种事务的响应时间、吞吐量、错误率等。这样,开发人员通过浏览器访问性能监控服务器110就能查看企业服务器的各种性能信息,迅速找到性能瓶颈,从而采取相应的改进措施。
图5示出了根据本发明一个实施例的性能监控方法的流程图。该方法适于在适于在驻留在第一应用服务器的性能监控装置中执行。
如图5所示,性能监控方法始于步骤S310,在步骤S310中,在第一应用服务器处接收第一访问请求,该第一访问请求请求访问第一应用服务器中的一个或者多个第一应用。第一应用服务器上一般部署有一个或多个第一应用,用于给用户提供网络服务。第一访问请求通常是http(s)请求。
接收到第一访问请求后,在步骤S320中在第一应用服务器处理第一访问请求之前,在第一应用中插入第一监控对象,以便在第一应用处理第一访问请求时,执行第一监控对象以获取第一应用的执行性能信息。根据本发明的一个实施方式,在第一应用中插入第一监控对象的步骤之前可以根据预置的配置文件,判断是否需要在第一应用中插入第一监控对象。该配置文件通常为XML或者YML格式,其中存储需要监控的应用或者应用中的诸如类或方法的对象。
若确定需要在该第一应用中插入第一监控对象,则根据本发明的另一个实施方式,可以检测第一访问请求中是否包括第三访问请求的标识,第三访问请求通常也是http(s)请求,请求访问第三应用服务器中的一个或者多个第三应用。该标识可以是应用id或session id等信息,通常可用于唯一地识别其对应的应用以及应用服务器。
若第一访问请求中包括第三访问请求的标识,则在第一应用中插入第一监控对象,以便在第一应用处理第一访问请求时,执行第一监控对象以获取第一应用的执行性能信息,第一监控对象包括第三访问请求的标识,以及所获取的第一应用的执行性能信息中包括第三访问请求的标识。
当第一应用服务器中的一个或者多个第一应用在处理第一访问请求期间需要调用第二应用服务器中的一个或者多个第二应用时,在步骤S330中根据第一访问请求生成第二访问请求,并且将第二访问请求发送到第二应用服务器,所述第二访问请求包括第一访问请求的标识。其中第二访问请求及其标识与第一、第三访问请求格式相同,可将第一访问请求的标识写入第二访问请求的header字段中。根据本发明的又一个实施方式,第一、第二和第三访问请求的标识还可以包括该访问请求对应的应用服务器的标识和时间戳。
而后在步骤S340中,将所获取的第一应用的执行性能信息连同所述第一访问请求的标识一起发送到性能统计服务器,以便性能统计服务器根据来自第一应用服务器的执行性能信息以及第二应用服务器的执行性能信息来对处理该第一访问请求的性能进行分析,从而实现了对跨应用调用的性能监控。
根据本发明的还有一个实施方式,性能监控方法还包括如图6所示的步骤。
首先,在步骤S410中,在第二应用服务器处接收第二访问请求,第二访问请求来自第一应用服务器,包括第一访问请求的标识。
在第二应用服务器处理第二访问请求之前,在步骤S420中,在第二应用中插入第二监控对象,以便在第二应用处理第二访问请求时,执行第二监控对象以获取第二应用的执行性能信息,该第二监控对象包括第一访问请求的标识,以及所获取的第二应用的执行性能信息中包括第一访问请求的标识。
其中在第二应用中插入第二监控对象的步骤之前还可以根据第二应用服务器预置的配置文件,判断是否需要在第二应用中插入第二监控对象。
最后,第二应用处理完第二访问请求之后,在步骤S430中将第二应用的执行性能信息连同第一访问请求的标识一起发送到性能统计服务器。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本发明还包括:A7、如A5、A6所述的方法,所述第一访问请求、第二访问请求和第三访问请求均包括时间戳。A8、如A1-A7中任一所述的方法,所述第一访问请求、第二访问请求和第三访问请求的标识均包括所述访问请求对应的应用服务器的标识。B12、如B9-B11中任一所述的性能监控装置,所述第一访问请求、第二访问请求和第三访问请求为http访问请求,其中所述标识位于对应访问请求的header字段中。B13、如B9-B12中任一所述的性能监控装置,所述第一访问请求、第二访问请求和第三访问请求均包括时间戳。B14、如B9-B13中任一所述的性能监控装置,所述第一访问请求、第二访问请求和第三访问请求的标识均包括所述访问请求对应的应用服务器的标识。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种性能监控方法,该方法包括:
在第一应用服务器处接收第一访问请求,所述第一访问请求请求访问所述第一应用服务器中的一个或者多个第一应用;
在所述第一应用服务器处理所述第一访问请求之前,在所述第一应用中插入第一监控对象,以便在第一应用处理所述第一访问请求时,执行所述第一监控对象以获取第一应用的执行性能信息;
当第一应用服务器中的一个或者多个第一应用在处理所述第一访问请求期间需要调用第二应用服务器中的一个或者多个第二应用时,根据所述第一访问请求生成第二访问请求,并且将第二访问请求发送到第二应用服务器,所述第二访问请求包括第一访问请求的标识;
将所获取的第一应用的执行性能信息连同所述第一访问请求的标识一起发送到性能统计服务器,以便性能统计服务器根据来自第一应用服务器的执行性能信息以及第二应用服务器的执行性能信息来对处理该第一访问请求的性能进行分析。
2.如权利要求1所述的性能监控方法,还包括步骤:
在第二应用服务器处接收所述第二访问请求;
在第二应用服务器处理所述第二访问请求之前,在所述第二应用中插入第二监控对象,以便在第二应用处理所述第二访问请求时,执行所述第二监控对象以获取第二应用的执行性能信息,所述第二监控对象包括第一访问请求的标识,以及所获取的第二应用的执行性能信息中包括所述第一访问请求的标识;以及
将所获取的第二应用的执行性能信息连同所述第二访问请求的标识一起发送到性能统计服务器。
3.如权利要求1或2所述的方法,所述在所述第一应用中插入第一监控对象的步骤之前还包括:
根据预置的配置文件,判断是否需要在所述第一应用中插入第一监控对象。
4.如权利要求2或3所述的方法,所述在所述第二应用中插入第二监控对象的步骤之前还包括:
根据预置的配置文件,判断是否需要在所述第二应用中插入第二监控对象。
5.如权利要求1-4中任一所述的方法,所述在所述第一应用中插入第一监控对象的步骤还包括:
检测所述第一访问请求中是否包括第三访问请求的标识;
若是,在所述第一应用中插入第一监控对象以便在第一应用处理所述第一访问请求时,执行所述第一监控对象以获取第一应用的执行性能信息,所述第一监控对象包括第三访问请求的标识,以及所获取的第一应用的执行性能信息中包括所述第三访问请求的标识。
6.如权利要求5所述的方法,所述第一访问请求、第二访问请求和第三访问请求为http访问请求,其中所述标识位于对应访问请求的header字段中。
7.一种性能监控装置,驻留在第一应用服务器中,该装置包括:
插装对象模块,适于在其所驻留的第一应用服务器处接收第一访问请求,所述第一访问请求请求访问所述第一应用服务器中的一个或者多个第一应用;还适于在所述第一应用服务器处理所述第一访问请求之前,在所述第一应用中插入第一监控对象,以便在第一应用处理所述第一访问请求时,执行所述第一监控对象以获取第一应用的执行性能信息;
请求生成模块,适于当第一应用服务器中的一个或者多个第一应用在处理所述第一访问请求期间需要调用与所述第一应用服务器相耦接的第二应用服务器中的一个或者多个第二应用时,根据所述第一访问请求生成第二访问请求,并且将第二访问请求发送到第二应用服务器,所述第二访问请求包括第一访问请求的标识;
上传数据模块,适于将所获取的第一应用的执行性能信息连同所述第一访问请求的标识一起发送到性能统计服务器,以便性能统计服务器根据来自第一应用服务器的执行性能信息以及第二应用服务器的执行性能信息来对处理该第一访问请求的性能进行分析。
8.如权利要求7所述的性能监控装置,所述插装对象模块还包括检测模块,所述检测模块适于根据预置的配置文件,判断是否需要在所述第一应用中插入第一监控对象。
9.如权利要求8所述的性能监控装置,所述检测模块适于检测所述第一访问请求中是否包括第三访问请求的标识,若是,则在所述第一应用中插入第一监控对象,以便在第一应用处理所述第一访问请求时,执行所述第一监控对象以获取第一应用的执行性能信息,所述第一监控对象包括第三访问请求的标识,以及所获取的第一应用的执行性能信息中包括所述第三访问请求的标识。
10.一种性能监控系统,该系统包括:
一个或多个应用服务器,所述应用服务器中驻留有如权利要求7-9中任一所述的性能监控装置;以及
性能监控服务器,适于接收所述一个或多个应用服务器中性能监控装置上传的执行性能信息,并根据来自一个或多个应用服务器的执行性能信息对处理访问请求的性能进行分析。
CN201510077178.0A 2015-02-12 2015-02-12 一种性能监控方法、设备和系统 Active CN104683181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510077178.0A CN104683181B (zh) 2015-02-12 2015-02-12 一种性能监控方法、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510077178.0A CN104683181B (zh) 2015-02-12 2015-02-12 一种性能监控方法、设备和系统

Publications (2)

Publication Number Publication Date
CN104683181A true CN104683181A (zh) 2015-06-03
CN104683181B CN104683181B (zh) 2019-02-15

Family

ID=53317806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510077178.0A Active CN104683181B (zh) 2015-02-12 2015-02-12 一种性能监控方法、设备和系统

Country Status (1)

Country Link
CN (1) CN104683181B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808441A (zh) * 2016-03-31 2016-07-27 浪潮通用软件有限公司 一种多维度性能诊断分析方法
CN107171763A (zh) * 2017-07-05 2017-09-15 北京蓝海讯通科技股份有限公司 一种基于时间偏移的时间处理方法、装置及移动终端
CN108243238A (zh) * 2016-12-27 2018-07-03 中国移动通信集团浙江有限公司 一种性能数据的采集方法及装置
CN109389271A (zh) * 2017-08-10 2019-02-26 中国电信股份有限公司 应用性能管理方法及系统
CN110601926A (zh) * 2019-10-21 2019-12-20 北京宝兰德软件股份有限公司 Web服务端系统吞吐量的统计方法及装置
CN111740871A (zh) * 2019-03-25 2020-10-02 华为技术有限公司 一种数据采集方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003090085A2 (en) * 2002-04-19 2003-10-30 Computer Associates Think, Inc. System and method for monitoring a computer application
US20040267906A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation Systems and methods for adjusting caching policies for web service requests
CN101778105A (zh) * 2010-01-20 2010-07-14 杭州华三通信技术有限公司 获取基于web的实时性能监视指标数的方法、系统及设备
CN101853205A (zh) * 2010-06-23 2010-10-06 山东中创软件商用中间件股份有限公司 一种监控程序运行的方法和装置
CN102622289A (zh) * 2011-01-26 2012-08-01 阿里巴巴集团控股有限公司 程序设置方法、程序监控方法与装置、系统
CN103684898A (zh) * 2012-09-14 2014-03-26 阿里巴巴集团控股有限公司 一种监测用户请求在分布式系统中运行的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003090085A2 (en) * 2002-04-19 2003-10-30 Computer Associates Think, Inc. System and method for monitoring a computer application
US20040267906A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation Systems and methods for adjusting caching policies for web service requests
CN101778105A (zh) * 2010-01-20 2010-07-14 杭州华三通信技术有限公司 获取基于web的实时性能监视指标数的方法、系统及设备
CN101853205A (zh) * 2010-06-23 2010-10-06 山东中创软件商用中间件股份有限公司 一种监控程序运行的方法和装置
CN102622289A (zh) * 2011-01-26 2012-08-01 阿里巴巴集团控股有限公司 程序设置方法、程序监控方法与装置、系统
CN103684898A (zh) * 2012-09-14 2014-03-26 阿里巴巴集团控股有限公司 一种监测用户请求在分布式系统中运行的方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808441A (zh) * 2016-03-31 2016-07-27 浪潮通用软件有限公司 一种多维度性能诊断分析方法
CN105808441B (zh) * 2016-03-31 2018-08-14 浪潮通用软件有限公司 一种多维度性能诊断分析方法
CN108243238A (zh) * 2016-12-27 2018-07-03 中国移动通信集团浙江有限公司 一种性能数据的采集方法及装置
CN108243238B (zh) * 2016-12-27 2020-10-09 中国移动通信集团浙江有限公司 一种性能数据的采集方法及装置
CN107171763A (zh) * 2017-07-05 2017-09-15 北京蓝海讯通科技股份有限公司 一种基于时间偏移的时间处理方法、装置及移动终端
CN109389271A (zh) * 2017-08-10 2019-02-26 中国电信股份有限公司 应用性能管理方法及系统
CN109389271B (zh) * 2017-08-10 2020-11-24 中国电信股份有限公司 应用性能管理方法及系统
CN111740871A (zh) * 2019-03-25 2020-10-02 华为技术有限公司 一种数据采集方法及装置
CN110601926A (zh) * 2019-10-21 2019-12-20 北京宝兰德软件股份有限公司 Web服务端系统吞吐量的统计方法及装置

Also Published As

Publication number Publication date
CN104683181B (zh) 2019-02-15

Similar Documents

Publication Publication Date Title
CN104683181A (zh) 一种性能监控方法、设备和系统
US7568023B2 (en) Method, system, and data structure for monitoring transaction performance in a managed computer network environment
CN111045952B (zh) 软件测试方法、流量回放装置、终端设备及可读存储介质
US7954011B2 (en) Enabling tracing operations in clusters of servers
US20070271375A1 (en) Method and apparatus for monitoring real users experience with a website capable of using service providers and network appliances
US7890959B2 (en) System and method for message lifetime management
US8650284B2 (en) User activity monitoring
CN104683180A (zh) 一种性能监控方法、系统及应用服务器
CN110784374A (zh) 业务系统运行状态的监控方法、装置、设备和系统
CN105607994A (zh) 一种移动终端软件测试方法和系统
CA2982272C (en) Automatic task tracking
CN104301175A (zh) 一种基于浏览器的web业务系统仿真监控方法
CN109474484B (zh) Cdn的检查方法及装置、系统
CN104683179A (zh) 一种对对象的执行性能进行监控的方法、装置及系统
CN112749059A (zh) 前端异常监控的方法、装置及系统
CN107483294B (zh) 监控网络请求的方法及装置
CN116264555A (zh) 网络产品应用的分布式调用的链路跟踪方法及装置
CN112286778B (zh) 一种业务链调用解析方法及装置
CN115269415A (zh) 一种基于仿真场景用例的接口测试系统和方法
CN114371980A (zh) 调用链路性能监控方法、装置、计算机设备及存储介质
CN114598622A (zh) 数据监控方法及装置、存储介质、计算机设备
CN111131370B (zh) 用于检测服务调用是否正确的方法、装置和系统
CN108449224B (zh) 数据获取方法、装置、设备和存储介质
CN110601926A (zh) Web服务端系统吞吐量的统计方法及装置
CN111884882A (zh) 一种监控覆盖率检测方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 100193 room 101-203, 2 / F, building 4, courtyard 10, northwest Wangdong Road, Haidian District, Beijing

Patentee after: BEIJING ONEAPM Co.,Ltd.

Address before: Room 203, building 3, Zone D, Dongsheng Science Park, Zhongguancun, No. 66, xixiaokou Road, Haidian District, Beijing 100189

Patentee before: BEIJING BLUEWARE TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A performance monitoring method, equipment and system

Effective date of registration: 20211026

Granted publication date: 20190215

Pledgee: Beijing first financing Company limited by guarantee

Pledgor: BEIJING ONEAPM Co.,Ltd.

Registration number: Y2021980011324

PE01 Entry into force of the registration of the contract for pledge of patent right