CN104683180A - 一种性能监控方法、***及应用服务器 - Google Patents

一种性能监控方法、***及应用服务器 Download PDF

Info

Publication number
CN104683180A
CN104683180A CN201510076857.6A CN201510076857A CN104683180A CN 104683180 A CN104683180 A CN 104683180A CN 201510076857 A CN201510076857 A CN 201510076857A CN 104683180 A CN104683180 A CN 104683180A
Authority
CN
China
Prior art keywords
client
monitor message
server
performance
application server
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
CN201510076857.6A
Other languages
English (en)
Other versions
CN104683180B (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 Ruixiang Technology 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 CN201510076857.6A priority Critical patent/CN104683180B/zh
Publication of CN104683180A publication Critical patent/CN104683180A/zh
Application granted granted Critical
Publication of CN104683180B publication Critical patent/CN104683180B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种应用服务器,包括配置存储器、请求处理器和处理引擎。配置存储器适于存储配置信息,该配置信息指示在其中***监控信息的第一对象。请求处理器适于接收来自客户端的访问请求,并确定对应于该访问请求的第一对象。处理引擎适于加载并执行请求处理器确定的第一对象,并在对该第一对象进行所述加载和执行期间根据所存储的配置信息来在相应的第一对象中***监控信息,以生成具有监控信息的第二对象。其中,请求处理器还适于将所述处理引擎生成的第二对象作为响应发送到客户端,以便第二对象在客户端上执行时,会根据其中的监控信息来执行监控操作。本发明还提供一种性能监控***及方法。

Description

一种性能监控方法、***及应用服务器
技术领域
本发明涉及性能监控领域,尤其涉及客户端的性能监控领域。
背景技术
随着互联网的日益普及,越来越多地企业通过web应用向用户提供各种产品和服务。与传统的企业内使用的专业软件不同,现在的企业软件***采用分布式、虚拟化的架构。因此,软件的开发者和运营者对于性能的监控更加困难。为了对软件的性能进行监控,开发者一般会选择在发布产品前做有限的模拟性能测试,但这种测试的环境与实际商业运行的环境相去甚远,难以反映真实环境下可能出现的问题。例如,在繁忙时段用户可能在网站购物时尝试多次支付仍不能成功,或者在智能手机的应用使用过程中出现没有响应的情况。而在发布产品后,开发者通常根据软件产品的业务访问日志,在相对滞后的时间根据访问日志进行性能分析和问题诊断。然而,开发者却不能及时获得关于代码性能的反馈,更无法了解问题的起源并做出相应修正。进一步,性能体验的问题会造成用户满意度下降,给企业营收造成巨大损失。
因此,需要一种可以应对这种情况的技术方案,该方案可以在web应用产品在运行时,进行代码级别的实时监控,并反馈监控数据以进行快速分析和确定改进方向。
发明内容
为此,本发明提供一种新的方案以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种应用服务器,包括配置存储器、请求处理器和处理引擎。配置存储器适于存储配置信息,该配置信息指示要在其中***监控信息的第一对象。请求处理器适于接收来自客户端的访问请求,并确定对应于该访问请求的第一对象。处理引擎适于加载并执行所述请求处理器确定的第一对象,并在对该第一对象进行所述加载和执行期间,根据所存储的配置信息来在相应的第一对象中***监控信息,以生成具有监控信息的第二对象。请求处理器还适于将处理引擎生成的第二对象作为响应发送到客户端,以便第二对象在客户端上执行时,会根据其中的监控信息来执行监控操作。
可选地,在根据本发明的应用服务器中,第一对象包括以各种解析语言编写的脚本,如JSP脚本,第二对象包括根据第一对象而生成的、适于在客户端执行的网页信息。
根据本发明的又一方面,还提供一种性能监控***,包括客户端、根据本发明的应用服务器以及性能监控服务器。其中,客户端向应用服务器发送访问请求,并接收从应用服务器返回的第二对象并执行。性能监控服务器适于接收由于执行第二对象而从客户端发送的客户端性能参数,并接收应用服务器发送的与执行第一对象相关联的服务器性能参数,并根据客户端性能参数与服务器性能参数,监控客户端与应用服务器处理访问请求的***性能。
根据本发明的又一方面,还提供一种性能监控方法,适于在应用服务器中执行。该监控方法包括,存储配置信息,该配置信息指示要在其中***监控信息的第一对象。接收来自客户端的访问请求,并确定对应于该访问请求的第一对象。加载并执行所确定的第一对象,并在对该第一对象进行所述加载和执行期间根据配置信息在第一对象中***监控信息,以生成具有监控信息的第二对象;以及将所生成的第二对象作为响应发送到客户端,以便在客户端执行第二对象时,会根据其中的监控信息来执行监控操作。
根据本发明的性能监控方案,通过在应用服务器使用中间语言(例如JAVA)动态插装的方式,实现了在不改动源代码、不安装任何SDK的情况下快速集成性能监控和监控代码***的应用,从而在应用服务器响应客户端访问请求的处理过程中加入适于在客户端加载和执行的监控信息。在此基础上,客户端能够根据监控信息执行对客户端运行过程的代码层级的监控操作,并且将监控操作所获取的客户端性能参数发送到性能监控服务器。另外,本发明的性能监控方案,还通过在应用服务器中对应用服务器响应客户端请求的处理过程进行代码层级的监控,并且将监控所获取的服务器性能参数发送到性能监控服务器。进一步,性能监控服务器能够将其所接收的客户端和应用服务器的性能参数进行统计分析。具体地,性能监控服务器将应用服服务器端执行一次或多次业务逻辑过程中性能进行统计分析,即将完成业务逻辑的网络拓扑中的每一个环节进行单独监控和整体分析。特别是,性能监控服务器能够分析企业监控服务器根据客户端对第一对象的请求,进而生成第二对象的过程中的性能参数。以及,性能服务器分析客户端执行第二对象过程中的性能参数。由此,性能服务器能够实时而全面的对企业软件产品实时运行性能进行快速分析和资源瓶颈定位,以便明确性能提高的改进方向。还有,根据本发明的监控方案中,性能监控服务器还具有应用调用框架的自动建模功能,可以将***所执行的程序逻辑以及相应的性能参数自动绘制成拓扑图进行可视化呈现。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的性能监控***100的示意图;
图2示出了根据本发明一个实施例的应用服务器200的示意图;
图3示出了根据本发明又一个实施例的应用服务器200的示意图;
图4示出了根据本发明一个实施例的客户端性能参数的显示界面图;
图5示出了根据本发明一个实施例的企业的应用服务器的性能参数的显示界面图;以及
图6示出了根据本发明一个实施例的性能监控方法600的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的性能监控***100的示意图。如图1所示,根据本发明的性能监控***100包括应用服务器200、客户端300以及性能监控服务器400。通常企业级的web应用会采用分布式的架构,在应用服务器200中包含实现企业各种业务逻辑的应用.应用服务器200可以直接与访问该应用服务器200的客户端300通信,或者会通过web服务器与客户端300进行通信。这样应用服务器200可以专注于业务逻辑的实现,并且应用服务器还与数据库进行耦接。这里,应用服务器200包括但不限于jboss、bea Weblogic及ibm webspere。web服务器为Apache、IIS和Iplanet的Enerprise等。
客户端300是指与应用服务器200进行通信的应用,可以驻留在计算设备或移动终端等智能终端中。例如,客户端300可以是浏览器或专用于访问该应用服务器200的客户端应用。性能监控服务器400可以收集应用服务器200以及客户端300的监控数据,以进行性能分析和对资源瓶颈进行判断。
图2示出了根据本发明一个实施例的应用服务器的示意图。如图2所示,根据本发明的应用服务器200包括配置存储器210、请求处理器230和处理引擎220。配置存储器210用于存储配置信息,该配置信息为处理引擎220处理数据和执行应用之前,对数据或应用进行预处理时使用的配置文件。例如,配置信息包括编译数据或应用时使用的编译配置选项和链接路径信息。进一步,配置信息中还可以包括监控指示信息,即指示要在其中***监控信息的第一对象。这里的第一对象为处理引擎220处理或执行的对象。例如,第一对象可以是以各种解析语言编写的脚本,例如可执行的xml、jsp脚本等。当然,处理引擎220处理或执行的对象也可以包括不在其中***监控信息的对象。
请求处理器230适于接收来自客户端300的访问请求,例如对xml或jsp的访问请求,然后请求处理器230会根据访问请求找到访问请求对应的对象(可由处理引擎220执行或处理),进而会根据配置信息确定该对象是否要***监控信息的第一对象。相应地,当该对象为要***监控信息的第一对象时,请求处理器230会通知处理引擎220进行与监控信息相关的操作。
处理引擎220根据配置信息对请求处理器230确定的第一对象进行处理或执行。具体地,处理引擎220加载和执行第一对象,并且会在进行加载和执行的过程中加入监控信息,然后生成具有监控信息的处理结果,即第二对象。请求处理器230会将该第二对象作为响应消息向客户端300发送。需要说明的是,这里加入监控信息的目的是为了监控客户端300的性能参数。因此,当客户端300执行该第二对象时,会根据监控信息执行对客户端300的监控操作,以便获取性能参数。例如,客户端300为浏览器,第二对象为浏览器加载的网页信息,这样在执行监控操作时,会获取诸如网页加载时间、脚本执行时间、代码执行错误、客户端版本信息、吞吐量、客户端资源消耗以及访问应用服务器200的响应时间等性能参数。客户端300还会在执行监控操作时,周期性向性能监控服务器400发送实时采集的性能参数,以便性能监控服务器400能够根据客户端300执行代码时获取的性能参数,进行客户端性能分析,以及对客户端300与应用服务器200的通信过程进行分析,从而能够快速定位资源瓶颈,提出解决方案。
此外,处理引擎220还包括性能监控器221,该监控器221可以在不更改应用服务器200原有代码基础上嵌入到应用服务器200中。该监控器221作为驻留在应用服务器中的监控组件,可以对应用服务器200处理客户端300访问请求等执行代码的过程进行监控,并且还会向性能监控服务器400发送服务器性能参数,以便性能监控服务器400根据客户端性能参数与服务器性能参数进行协同分析。
图3示出了根据本发明又一个实施例的应用服务器200的示意图。在根据本发明的应用服务器200中,配置信息存储器210、请求处理器230和处理引擎220可以运行在软件虚拟机240上,例如Java虚拟机(JVM)。
如图3所示,根据本发明的应用服务器上运行有JVM,在JVM上运行着配置信息存储器、请求处理器230以及处理引擎220。其中处理引擎还包括性能监控器221(Agent,探针)和类加载器(未示出)。性能监控器221为嵌入到应用服务器200中的监控组件。具体地,通过使用中间语言(例如Java)动态插装技术,允许在不改动应用服务器200原有的业务逻辑代码的基础上,以及在不安装任何SDK(软件集成开发工具)的情况下快速集成监控应用。这样在应用服务器200进行业务处理时,性能监控器221可以对应用服务器200针对客户端300访问请求的处理等执行代码的过程进行监控。同时,性能监控器221还可以对配置信息存储器210中的配置信息进行操作,以确定与监控信息与第一对象的关联关系。当客户端300访问应用服务器200时,请求处理器230会根据该访问请求,查找所请求的对象。当该对象为第一对象时,处理引擎220会执行***监控信息的操作。
具体地,根据本发明的第一对象可以是利用各种解析语言编写的脚本语言,例如JSP脚本,而与第一对象关联的监控信息可以是JS脚本或者该JS脚本的链接信息。这里处理引擎220***监控信息的方式可以有多种。在根据本发明的一个实施例中,处理引擎220包括了在第一对象加载之前,对JSP代码进行编译的JSP编译器。相应地,配置存储器210中的配置信息可以是yml配置文件。其中yml配置文件的示例如下:
该yml配置文件由Agent 221进行设置。在处理引擎220加载和执行第一对象之前,JSP编译器(未示出)会根据该配置文件对第一对象进行编译,并在编译过程中***了监控信息(JS代码),以及在编译完成后生成class类文件。然后,类加载会将该第一对象对应的class类文件加载到执行该第一对象的运行时数据区(runtime data)。处理引擎220对运行时数据区中的class类文件进行执行,进而生成第二对象(例如,xml或html数据)。
在根据本发明的又一个实施例中,在类加载器加载class类时,通过类加载器将监控信息***到class类中,进而处理引擎220执行已***监控信息的class类,生成html网页,即第二对象。此外,处理引擎220还可以采用根据本发明的其他方式使第二对象具有监控信息,都应属于本发明的保护范围。
在上述各实施例中,请求处理器230可以将具有监控信息的第二对象作为响应消息向客户端发送。这样,客户端300在加载该响应消息时,可以根据监控信息进行监控操作。通常为了减少响应消息的网页的加载时间,监控信息包括监控脚本的链接地址,客户端300在加载第二对象时,会根据该连接地址获取监控脚本(例如js脚本)。此外,监控信息或所获取的监控脚本中具有标识信息(例如transactionName),该标识信息与应用服务器200的性能监控器221向性能监控服务器400发送的服务器端与处理第一对象相关的性能参数相对应,这样便于性能监控服务器400根据该标识信息将客户端300性能参数与其相对应在应用服务器200端获取的性能参数进行关联分析,以获取完整的性能分析和资源瓶颈定位。其中监控信息示例如下:
进一步,客户端的监控操作可以获取多种性能参数。
例如,性能参数包括客户端(例如浏览器)加载时间参数。其中用于获取网页加载时间的脚本代码示例如下:
在根据本发明一个实施例中,客户端300监控操作还包括获取浏览器的版本信息。
客户端300执行监控操作过程中,会周期性向性能监控服务器400发送所获取的客户端性能参数,并且如果网络异常,会进行后续的异步发送。其中向性能监控服务器发送客户端性能参数的代码示例如下:
进一步,根据本发明的性能监控服务器400会接收客户端300(例如浏览器或访问应用服务器的专用APP)和应用服务器200在进行通信和完成业务逻辑处理的过程中的相关性能参数。在实现业务逻辑处理的这个网络拓扑中,性能监控服务器400分别从客户端300和应用服务器400端获取了应用逻辑处理每个一个环节(例如用户的每一步操作)的处理性能参数,并可以通过所获取的性能参数识别出低效或者错误的代码并调优。此外,性能监控服务器400可以根据性能参数的将性能参数绘制成拓扑图进行可视化呈现。例如,图4为客户端300性能参数的显示示例,图5为企业的应用服务器200的性能参数的显示示例。
图6示出了根据本发明一个实施例的性能监控方法600的流程图。该方法600适于在应用服务器中执行。
如图6所示,该方法600始于步骤S610。在步骤S610中,存储配置信息,该配置信息指示要在其中***监控信息的第一对象。根据本发明的一个实施例,这里所指的监控信息包括由应用服务器发送到客户端后,在客户端进行执行的监控脚本或该监控脚本的链接地址。而第一对象是应用服务器响应于客户端请求而执行或处理的数据(例如以各种解析语言编写的脚本,如JSP脚本等)数据对象。这些数据对象中适于加入监控信息(例如JS脚本或该脚本的链接)。
在步骤S620中,接收来自客户端的访问请求,并确定对应于该访问请求的第一对象。在该步骤中,当确定客户端的访问请求对应于多个对象中任一个时,会在后续步骤中执行监控信息的***操作。否则,若客户端所请求的数据对象不属于第一对象,则在后续步骤中不会进行***监控信息的操作。
在步骤S630中,加载并执行所确定的第一对象,并在对该第一对象进行所述加载和执行期间***监控信息,以生成具有监控信息的第二对象。具体地,可以采用多种可选择的方式使得应用服务器根据第一对象生成的第二对象中具有监控信息。在根据本发明一个实施例中,在确定了第一对象(例如JSP脚本)后,首先将监控信息(例如JS脚本或脚本的链接地址)***到第一对象内(例如***到HTML数据的head部),然后加载并执行已***监控信息的第一对象,进而生成第二对象。在又一个实施例中,首先对第一对象进行编译,然后在加载经过编译的第一对象时将监控信息***到加载的数据中。例如,JVM中类加载器加载第一对象对应的class类,并会在加载过程中***监控信息。这样,JVM所执行具有监控信息的class类,使得生成的第二对象中具有该监控信息。随后,在步骤S640中,将所生成的第二对象作为响应发送到所述客户端,以便在所述客户端执行所述第二对象时,会根据其中的监控信息来执行监控操作。这里,第二对象包括但不限于HTML、XML、JSON等格式的数据信息。客户端会在接收到这些数据信息时进行网页加载以及进一步的异步访问和异步执行,进而根据监控脚本对客户端与第一对象相关的整个业务处理和网络通信息过程中相关的性能参数进行监控。
例如,在浏览器中执行监控操作的一般过程为:浏览器在加载第二对象时,根据监控信息中的链接地址,请求和等待加载监控脚本(例如JS脚本),然后执行该监控脚本,对浏览器的版本信息、网页加载时间、业务处理时长等性能进行监控,获取客户端性能参数。
此外,性能监控方法600还包括对应用服务器的监控。
在步骤S650中,监控应用服务器对第一对象的处理性能,并获取相应的服务器性能参数。对第一对象的处理性能包括从应用服务器接收到客户端对第一对象的访问请求开始到生成第二对象为止的过程中、应用服务器的性能参数以及应用服务器对客户端加载第二对象期间发出的异步请求进行处理的过程中的性能参数。在步骤S660中,将该服务器性能参数发送给性能服务器,以便性能服务器统计并分析该服务器性能参数。
进一步,性能监控服务器接收应用服务器的性能参数和客户端的性能参数,进而根据性能参数进行多种统计分析。在根据本发明一个实施例中,性能监控服务器接收的性能参数包括服务器端处的第一对象的加载和执行时间以及该第一对象对应的第二对象在客户端的加载执行时间,这样性能监控服务器就能对在业务请求的完整处理过程中、客户端和应用服务器的整体性能进行准确分析,并且能够快速定位资源瓶颈和明确提高***性能的改进方向。此外,性能监控服务器还可以接收由客户端和应用服务器发送的性能参数(例如,客户端的脚本执行时间、代码执行错误、客户端版本信息、吞吐量、客户端资源消耗以及访问应用服务器的响应时间。应用服务器端的服务器资源消耗以及应用服务器版本信息),这里不再一一赘述。
A1:根据本发明的性能监控方法,其中所述监控信息包括监控脚本的链接地址;以及所述执行监控操作的步骤包括:根据该链接地址加载该监控脚本;执行监控脚本以获取客户端性能参数,并将该客户端性能参数向性能服务器发送以便该性能服务器统计分析该客户端性能参数。A2:根据本发明的性能监控方法,还包括:监控应用服务器对所述第一对象的处理性能,并获取相应的服务器性能参数;以及将该服务器性能参数向所述性能服务器发送,以便性能服务器统计分析该服务器性能参数。A3:如A2所述的性能监控方法,其中所述客户端性能参数包括:所述第二对象的加载时间、脚本执行时间、代码执行错误、客户端版本信息、吞吐量、客户端资源消耗以及访问应用服务器的响应时间;以及所述服务器性能参数包括:所述第一对象的加载和执行时间、服务器资源消耗以及应用服务器版本信息。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种应用服务器,包括:
配置存储器,适于存储配置信息,该配置信息指示要在其中***监控信息的第一对象;
请求处理器,适于接收来自客户端的访问请求,并确定对应于该访问请求的第一对象;以及
处理引擎,适于加载并执行所述请求处理器确定的第一对象,并在对该第一对象进行所述加载和执行期间,根据所存储的配置信息来在相应的第一对象中***监控信息,以生成具有监控信息的第二对象;
其中,所述请求处理器还适于将所述处理引擎生成的第二对象作为响应发送到所述客户端,以便所述第二对象在所述客户端上执行时,会根据其中的监控信息来执行监控操作。
2.如权利要求1所述的应用服务器,其中,
所述第一对象包括以各种解析语言编写的脚本;以及
所述第二对象包括根据所述第一对象而生成的适于在所述客户端执行的网页信息。
3.如权利要求1或2所述的应用服务器,其中,所述处理引擎根据下述方式中任一种加载并执行所述请求处理器确定的第一对象,并在对该第一对象进行所述加载和执行期间根据所存储的配置信息来在相应的第一对象中***监控信息,以生成具有监控信息的第二对象:
将所述监控信息***所述第一对象中,加载并执行已***该监控信息的第一对象,以生成具有监控信息的第二对象;以及
加载所述第一对象,在该加载操作期间将所述监控信息***所述第一对象中,并执行已***该监控信息的第一对象以生成第二对象。
4.如权利要求1至3任一项所述的应用服务器,其中所述监控信息包括监控脚本的链接地址;以及
所述执行监控操作的步骤包括:
根据该链接地址加载该监控脚本;以及
执行监控脚本以获取客户端性能参数,并将该客户端性能参数向性能服务器发送以便该性能服务器统计分析该客户端性能参数。
5.如权利要求1至4任一项所述的应用服务器,其中所述处理引擎还包括性能监控器,该性能监控器适于监控该应用服务器对所述第一对象的处理性能,并获取相应的服务器性能参数,以及将该服务器性能参数向所述性能服务器发送,以便性能服务器统计分析该服务器性能参数。
6.如权利要求5所述的应用服务器,其中,
所述客户端性能参数包括:所述第二对象的加载时间、脚本执行时间、代码执行错误、客户端版本信息、吞吐量、客户端资源消耗以及访问应用服务器的响应时间;以及
所述服务器性能参数包括:所述第一对象的加载和执行时间、服务器资源消耗以及应用服务器版本信息。
7.一种性能监控***,包括:
客户端;
如权利要求1-6中任一个所述的应用服务器;以及
性能监控服务器,
其中所述客户端向应用服务器发送访问请求,并接收从应用服务器返回的第二对象并执行;以及
所述性能监控服务器适于接收由于执行第二对象而从所述客户端发送的客户端性能参数,并接收所述应用服务器发送的与执行第一对象相关联的服务器性能参数,并根据所述客户端性能参数与服务器性能参数,监控所述客户端与应用服务器处理访问请求的***性能。
8.一种性能监控方法,适于在应用服务器中执行,该方法包括:
存储配置信息,该配置信息指示要在其中***监控信息的第一对象;
接收来自客户端的访问请求,并确定对应于该访问请求的第一对象;
加载并执行所确定的第一对象,并在对该第一对象进行所述加载和执行期间根据配置信息在第一对象中***监控信息,以生成具有监控信息的第二对象;以及
将所生成的第二对象作为响应发送到所述客户端,以便在所述客户端执行所述第二对象时,会根据其中的监控信息来执行监控操作。
9.如权利要求8所述的性能监控方法,其中,
所述第一对象包括以各种解析语言编写的脚本;以及
所述第二对象包括根据所述第一对象而生成的、适于在所述客户端执行的网页信息。
10.如权利要求8或9所述的性能监控方法,其中,所述加载并执行所述请求处理器确定的第一对象,并在对该第一对象进行所述加载和执行期间***其关联的监控信息据配置信息在第一对象中***监控信息,以生成具有监控信息的第二对象的步骤包括:
将所述监控信息***所述第一对象中,加载并执行已***该监控信息的第一对象,以生成具有监控信息的第二对象;或
加载所述第一对象,在该加载操作期间将所述监控信息***所述第一对象中,并执行已***该监控信息的第一对象以生成第二对象。
CN201510076857.6A 2015-02-12 2015-02-12 一种性能监控方法、***及应用服务器 Active CN104683180B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510076857.6A CN104683180B (zh) 2015-02-12 2015-02-12 一种性能监控方法、***及应用服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510076857.6A CN104683180B (zh) 2015-02-12 2015-02-12 一种性能监控方法、***及应用服务器

Publications (2)

Publication Number Publication Date
CN104683180A true CN104683180A (zh) 2015-06-03
CN104683180B CN104683180B (zh) 2019-05-03

Family

ID=53317805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510076857.6A Active CN104683180B (zh) 2015-02-12 2015-02-12 一种性能监控方法、***及应用服务器

Country Status (1)

Country Link
CN (1) CN104683180B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045539A (zh) * 2015-08-20 2015-11-11 百度在线网络技术(北京)有限公司 数据离线存储的控制方法和装置
CN105808441A (zh) * 2016-03-31 2016-07-27 浪潮通用软件有限公司 一种多维度性能诊断分析方法
CN106301971A (zh) * 2016-11-17 2017-01-04 国家电网公司 基于流量分析的电力应用性能监控***
CN107632920A (zh) * 2017-09-16 2018-01-26 广西电网有限责任公司电力科学研究院 一种输变电设备监测装置深度监控方法
CN107729208A (zh) * 2017-09-16 2018-02-23 广西电网有限责任公司电力科学研究院 一种输变电设备监测装置深度监控***
CN107807872A (zh) * 2017-10-18 2018-03-16 广西电网有限责任公司电力科学研究院 一种输变电***运行状态监测方法
CN107832187A (zh) * 2017-10-18 2018-03-23 广西电网有限责任公司电力科学研究院 一种输变电设备状态监测***
CN107888445A (zh) * 2017-10-18 2018-04-06 金蝶软件(中国)有限公司 性能状态分析的方法、装置、计算机设备及存储介质
CN108243238A (zh) * 2016-12-27 2018-07-03 ***通信集团浙江有限公司 一种性能数据的采集方法及装置
CN108268356A (zh) * 2016-12-30 2018-07-10 ***通信集团浙江有限公司 基于字节码覆写的反向web插桩分析方法和web服务器
CN109359019A (zh) * 2018-08-15 2019-02-19 中国平安人寿保险股份有限公司 应用程序性能监控方法、装置、电子设备及存储介质
CN110287436A (zh) * 2019-05-21 2019-09-27 深圳壹账通智能科技有限公司 检测页面加载时间方法、装置、设备及存储介质
CN110795357A (zh) * 2019-11-04 2020-02-14 中国工商银行股份有限公司 程序监控方法及装置
CN111104281A (zh) * 2019-11-20 2020-05-05 腾讯科技(深圳)有限公司 一种游戏性能监控方法、装置、***及存储介质
CN111381847A (zh) * 2018-12-29 2020-07-07 阿里巴巴集团控股有限公司 信息处理方法及设备
CN113505036A (zh) * 2021-05-25 2021-10-15 建信金融科技有限责任公司 一种应用监控方法、客户端和服务器

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222349A (zh) * 2007-01-12 2008-07-16 中国电信股份有限公司 收集web用户行为及性能数据的方法及***
CN101227348A (zh) * 2008-02-02 2008-07-23 杭州华三通信技术有限公司 一种对网络设备的性能统计数据进行采集的方法和服务器
EP2120195A1 (en) * 2008-05-15 2009-11-18 Sap Ag Client-side rule engine for executing business rules in rich internet applications
CN102123061A (zh) * 2011-03-28 2011-07-13 杭州电子科技大学 一种确定Web服务器性能的方法
CN102567185A (zh) * 2011-12-31 2012-07-11 北京新媒传信科技有限公司 一种应用服务器的监控方法
CN102684934A (zh) * 2011-03-17 2012-09-19 阿里巴巴集团控股有限公司 监控web应用程序性能的方法、***和web服务器
CN103067230A (zh) * 2013-01-23 2013-04-24 江苏天智互联科技有限公司 一种通过植入监控代码实现对http服务监控的方法
CN103176892A (zh) * 2011-12-20 2013-06-26 阿里巴巴集团控股有限公司 一种页面监控方法及***
CN103856471A (zh) * 2012-12-06 2014-06-11 阿里巴巴集团控股有限公司 跨站脚本攻击监控***及方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222349A (zh) * 2007-01-12 2008-07-16 中国电信股份有限公司 收集web用户行为及性能数据的方法及***
CN101227348A (zh) * 2008-02-02 2008-07-23 杭州华三通信技术有限公司 一种对网络设备的性能统计数据进行采集的方法和服务器
EP2120195A1 (en) * 2008-05-15 2009-11-18 Sap Ag Client-side rule engine for executing business rules in rich internet applications
CN102684934A (zh) * 2011-03-17 2012-09-19 阿里巴巴集团控股有限公司 监控web应用程序性能的方法、***和web服务器
CN102123061A (zh) * 2011-03-28 2011-07-13 杭州电子科技大学 一种确定Web服务器性能的方法
CN103176892A (zh) * 2011-12-20 2013-06-26 阿里巴巴集团控股有限公司 一种页面监控方法及***
CN102567185A (zh) * 2011-12-31 2012-07-11 北京新媒传信科技有限公司 一种应用服务器的监控方法
CN103856471A (zh) * 2012-12-06 2014-06-11 阿里巴巴集团控股有限公司 跨站脚本攻击监控***及方法
CN103067230A (zh) * 2013-01-23 2013-04-24 江苏天智互联科技有限公司 一种通过植入监控代码实现对http服务监控的方法

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045539B (zh) * 2015-08-20 2018-11-23 百度在线网络技术(北京)有限公司 数据离线存储的控制方法和装置
CN105045539A (zh) * 2015-08-20 2015-11-11 百度在线网络技术(北京)有限公司 数据离线存储的控制方法和装置
CN105808441A (zh) * 2016-03-31 2016-07-27 浪潮通用软件有限公司 一种多维度性能诊断分析方法
CN105808441B (zh) * 2016-03-31 2018-08-14 浪潮通用软件有限公司 一种多维度性能诊断分析方法
CN106301971A (zh) * 2016-11-17 2017-01-04 国家电网公司 基于流量分析的电力应用性能监控***
CN106301971B (zh) * 2016-11-17 2019-12-10 国家电网公司 基于流量分析的电力应用性能监控***
CN108243238B (zh) * 2016-12-27 2020-10-09 ***通信集团浙江有限公司 一种性能数据的采集方法及装置
CN108243238A (zh) * 2016-12-27 2018-07-03 ***通信集团浙江有限公司 一种性能数据的采集方法及装置
CN108268356A (zh) * 2016-12-30 2018-07-10 ***通信集团浙江有限公司 基于字节码覆写的反向web插桩分析方法和web服务器
CN107632920A (zh) * 2017-09-16 2018-01-26 广西电网有限责任公司电力科学研究院 一种输变电设备监测装置深度监控方法
CN107729208A (zh) * 2017-09-16 2018-02-23 广西电网有限责任公司电力科学研究院 一种输变电设备监测装置深度监控***
CN107888445B (zh) * 2017-10-18 2020-08-18 金蝶软件(中国)有限公司 性能状态分析的方法、装置、计算机设备及存储介质
CN107888445A (zh) * 2017-10-18 2018-04-06 金蝶软件(中国)有限公司 性能状态分析的方法、装置、计算机设备及存储介质
CN107832187A (zh) * 2017-10-18 2018-03-23 广西电网有限责任公司电力科学研究院 一种输变电设备状态监测***
CN107807872A (zh) * 2017-10-18 2018-03-16 广西电网有限责任公司电力科学研究院 一种输变电***运行状态监测方法
CN109359019A (zh) * 2018-08-15 2019-02-19 中国平安人寿保险股份有限公司 应用程序性能监控方法、装置、电子设备及存储介质
CN111381847A (zh) * 2018-12-29 2020-07-07 阿里巴巴集团控股有限公司 信息处理方法及设备
CN111381847B (zh) * 2018-12-29 2023-04-25 阿里巴巴集团控股有限公司 信息处理方法及设备
CN110287436A (zh) * 2019-05-21 2019-09-27 深圳壹账通智能科技有限公司 检测页面加载时间方法、装置、设备及存储介质
CN110795357A (zh) * 2019-11-04 2020-02-14 中国工商银行股份有限公司 程序监控方法及装置
CN110795357B (zh) * 2019-11-04 2023-04-07 中国工商银行股份有限公司 程序监控方法及装置
CN111104281A (zh) * 2019-11-20 2020-05-05 腾讯科技(深圳)有限公司 一种游戏性能监控方法、装置、***及存储介质
CN113505036A (zh) * 2021-05-25 2021-10-15 建信金融科技有限责任公司 一种应用监控方法、客户端和服务器
CN113505036B (zh) * 2021-05-25 2023-04-14 中国建设银行股份有限公司 一种应用监控方法、客户端和服务器

Also Published As

Publication number Publication date
CN104683180B (zh) 2019-05-03

Similar Documents

Publication Publication Date Title
CN104683180A (zh) 一种性能监控方法、***及应用服务器
US10552301B2 (en) Completing functional testing
Brosig et al. Automated extraction of architecture-level performance models of distributed component-based systems
US7343523B2 (en) Web-based analysis of defective computer programs
US7512933B1 (en) Method and system for associating logs and traces to test cases
US20120124559A1 (en) Performance Evaluation System
Brosig et al. Automated extraction of palladio component models from running enterprise java applications
CN112241360B (zh) 一种测试用例生成方法、装置、设备及存储介质
CN110196809B (zh) 接口测试方法及装置
CN107632920A (zh) 一种输变电设备监测装置深度监控方法
US10528456B2 (en) Determining idle testing periods
CN114064152A (zh) 基于动态加载的嵌入式多核调试***及其调试方法
CN103186463B (zh) 确定软件的测试范围的方法和***
Panigrahi et al. An approach to prioritize the regression test cases of object-oriented programs
CN111124871A (zh) 接口测试方法及装置
US20100153913A1 (en) Systems and Methods for Executing Object-Oriented Programming Code Invoking Pre-Existing Objects
US20180011778A1 (en) Static code testing of active code
WO2013121394A1 (en) Remote debugging service
CN104683179A (zh) 一种对对象的执行性能进行监控的方法、装置及***
CN109901831B (zh) 软件的多平台兼容运行方法及兼容运行装置
Ruprecht et al. Automatic feature selection in large-scale system-software product lines
Danciu et al. Performance awareness in Java EE development environments
CN110674024A (zh) 电子设备集成测试***及其方法
CN111367796B (zh) 应用程序调试方法及装置
CN110908918A (zh) 针对多个相互依赖的node.js模块的单元测试方法及装置

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
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.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220712

Address after: 100193 room 101-216, 2nd floor, building 4, East District, yard 10, northwest Wangdong Road, Haidian District, Beijing

Patentee after: Beijing Ruixiang Technology Co.,Ltd.

Address before: 100193 Haidian District, Beijing, China 101-203, floor 2, building 4, East District, courtyard 10, Xibeiwang East Road, Haidian District, Beijing

Patentee before: BEIJING ONEAPM Co.,Ltd.