一种快照抓取方法和数据监控工具的制作方法

文档序号:6633185阅读:230来源:国知局
一种快照抓取方法和数据监控工具的制作方法
【专利摘要】本发明实施例公开了一种快照抓取方法和数据监控工具,用于在Tomcat服务器中,准确的定位WEB应用发生间歇性响应变慢的时间点,及时在间歇性响应变慢时抓取到重要信息。本发明实施例方法包括:数据监控工具获取Tomcat服务器中WEB应用的繁忙线程数,当确定该繁忙线程数大于预置线程阈值时,获取该Tomcat服务器的HTTP请求快照和JVM线程快照。
【专利说明】一种快照抓取方法和数据监控工具

【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种快照抓取方法和数据监控工具。

【背景技术】
[0002]部署在Tomcat服务器中的WEB应用,当应用发生阻塞或者前端有超过预计并发的访问时,应用系统响应往往会变慢,这会影响用户的使用,有时候这个影响会持续一段时间,有时候就短短几秒。
[0003]目前,有监控工具监控系统的健康状态,当应用发生阻塞或者前端有超过预计并发的访问时,该监控工具发出警报,提示用户该应用不可使用。
[0004]在实际应用中,仅仅反映应用的可用性状况,并不能解决使得应用响应变慢的问题,在用户的正式环境中,发生这种间歇性响应变慢时,如果不及时抓取到重要的信息,后续就很难定位问题,因为问题发生的时间很难确定,而靠人工分析也难以把握住时间点。


【发明内容】

[0005]本发明实施例提供了一种快照抓取方法和数据监控工具,用于在Tomcat服务器中,准确的定位WEB应用发生间歇性响应变慢的时间点,及时在间歇性响应变慢时抓取到重要信息。
[0006]一种快照抓取方法,包括:
[0007]数据监控工具获取Tomcat服务器的繁忙线程数;
[0008]当确定所述繁忙线程数大于预置线程阈值时,所述数据监控工具获取所述Tomcat服务器的HTTP请求快照和JVM线程快照。
[0009]一种数据监控工具,包括:
[0010]线程获取模块,用于获取Tomcat服务器的繁忙线程数;
[0011]快照获取模块,用于当确定所述线程获取模块获取的繁忙线程数大于预置线程阈值时,获取所述Tomcat服务器的HTTP请求快照和JVM线程快照。
[0012]从以上技术方案可以看出,本发明实施例具有以下优点:当确定繁忙线程数大于预置线程阈值时,获取该Tomcat服务器的HTTP请求快照和JVM线程快照。繁忙线程数,表示实际正在处理HTTP请求业务的线程数,一般状况下,繁忙线程数可能比较低,当发生瞬间访问量增大或者系统发生阻塞时,繁忙线程数就会增加,有时可能突然增加很大,有时可能持续增大,这时,系统的响应就会变慢,导致间歇性响应变慢,这样,设置一个预置线程阈值,当超过预置线程阈值时,数据监控工具就抓取JVM线程快照,同时抓取Tomcat服务器中的HTTP请求快照,这样就准确的定位了 WEB应用发生间歇性响应变慢的时间点,抓到HTTP请求内容的快照,同时又抓住了 JVM线程的快照这两个重要信息,HTTP请求表示要做什么,JVM线程表示实际在做什么,将这两个重要信息结合,可以很方便的确定出是因为什么原因导致的间歇性响应变慢。

【专利附图】

【附图说明】
[0013]图1为本发明实施例中快照抓取方法一个流程示意图;
[0014]图2为本发明实施例中快照抓取方法另一个流程示意图;
[0015]图3为本发明实施例中获取第一组件的数据一个实例示意图;
[0016]图4为本发明实施例中获取JVM线程快照的组件一个实例示意图;
[0017]图5为本发明实施例中获取HTTP请求快照的组件一个实例示意图;
[0018]图6为本发明实施例中HTTP请求快照一个实例示意图;
[0019]图7为本发明实施例中JVM线程快照一个实例示意图;
[0020]图8为本发明实施例中数据监控工具一个结构示意图;
[0021]图9为本发明实施例中数据监控工具另一个结构示意图。

【具体实施方式】
[0022]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]此处在本发明的描述中使用的术语是用于描述特定实施例的目的并且不旨在作为对本发明的限制。
[0024]术语“Tomcat 服务器”是 Apache 软件基金会(Apache Software Foundat1n)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成,Tomcat服务器是一个免费的开放源代码的Web应用服务器,基于JMX的服务器全面监视及Web程序管理。
[0025]术语“JMX(JavaManagement Extens1ns, Java 管理扩展)”是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。”
[0026]术语“WEB应用”表示一种可以通过网页Web访问的应用程序。
[0027]术语“繁忙线程数”表示Tomcat服务器中实际正在处理具体事务的HTTP线程的数目。相应的,还有Tomcat服务器中的“线程总数”,表示Tomcat服务器中可以使用的线程数目,Tomcat服务器中繁忙线程数不能超过它的线程总数。
[0028]术语“预置线程阈值”为预设的线程阈值,其可以根据Tomcat服务器中的线程总数来设定,例如设定为线程总数的1/2、3/4,或者4/5等,还可以根据Tomcat服务器正常运行一般需要的线程数来设定,例如设定为50个、100个、130个等,还可以有很多的设定方式,保证其不超过线程总数且能满足Tomcat服务器中WEB应用的正常使用,具体的设定方式,此处不作限定。
[0029]术语“ JVM线程快照”表示当前所有JVM正在执行与已经执行过的方法调用序列的一个集合,各个线程执行不同的方法调用,各个线程采用线程序列号进行区分,JVM线程快照里既包含了当前正在执行的方法调用,也包含了该线程完成前的所有历史方法调用,通过一个JVM线程快照,可以知道一个线程从开始到当前都执行了什么方法调用。其中,术语“JVM”是Java Virtual Machine (Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
[0030]术语“Http请求快照”表示当前所有访问Tomcat服务器的Http请求的一个集合,其中包含有Http请求的内容。
[0031]请参阅图1,本发明实施例中快照抓取方法一个实施例包括:
[0032]101、数据监控工具获取Tomcat服务器的繁忙线程数;
[0033]当Tomcat服务器运行时,数据监控工具可以持续的实时获取Tomcat服务器的繁忙线程数。
[0034]102、当确定所述繁忙线程数大于预置线程阈值时,所述数据监控工具获取所述Tomcat服务器的HTTP请求快照和JVM线程快照。
[0035]数据监控工具获取到Tomcat服务器的繁忙线程数后,会与预置线程阈值进行比较,当确定该繁忙线程数大于预置线程阈值时,该数据监控工具获取Tomcat服务器的HTTP请求快照和JVM线程快照。
[0036]该HTTP请求快照中包含有当前访问Tomcat服务器的Http请求的内容,表示需要运行在Tomcat服务器上的WEB应用执行什么操作,JVM线程快照中包含有JVM正在执行与已经执行过的方法调用序列,表示该运行在Tomcat服务器上的WEB应用执行了什么操作。
[0037]可以理解的是,该预置线程阈值应该设定在不超过线程总数且能满足Tomcat服务器上的WEB应用的正常使用的范围内,若预置线程阈值设置合理,当繁忙线程数大于预置线程阈值时,即表示Tomcat服务器上的WEB应用瞬间响应量变大,或者系统发生阻塞,即将进入响应变慢的状态,此时获取HTTP请求快照和JVM线程快照正好可以获取到使得响应变慢的原因的重要信息。
[0038]本发明实施例中当确定繁忙线程数大于预置线程阈值时,获取该Tomcat服务器的HTTP请求快照和JVM线程快照。繁忙线程数,表示实际正在处理HTTP请求业务的线程数,一般状况下,繁忙线程数可能比较低,当发生瞬间访问量增大或者系统发生阻塞时,繁忙线程数就会增加,有时可能突然增加很大,有时可能持续增大,这时,系统的响应就会变慢,导致间歇性响应变慢,这样,设置一个预置线程阈值,当超过预置线程阈值时,数据监控工具就抓取JVM线程快照,同时抓取TOMCAT服务器中的HTTP请求快照,这样就准确的定位了 WEB应用发生间歇性响应变慢的时间点,抓到HTTP请求内容的快照,同时又抓住了 JVM线程的快照这两个重要信息,HTTP请求表示要做什么,JVM线程表示实际在做什么,将这两个重要信息结合,可以很方便的确定出是因为什么原因导致的间歇性响应变慢。
[0039]下面对本发明实施例中的快照抓取方法进行具体描述,请参阅图2,本发明实施例中快照抓取方法另一个实施例包括:
[0040]201、数据监控工具通过JMX协议采集Tomcat服务器中第一组件的数据,所述第一组件的数据中包括有所述Tomcat服务器的繁忙线程数和线程总数;
[0041]当Tomcat服务器运行时,数据监控工具通过JMX协议采集Tomcat服务器中第一组件的数据,所述第一组件的数据中包括有所述Tomcat服务器的繁忙线程数和线程总数。
[0042]如图3所示,为利用Java语言的软件开发工具包((Java Development Kit, JDK)里面的一个工具Jconsole获取该第一组件的数据的示例,其中属性currentThreadsBusy的值表示当前的繁忙线程数,属性currentThreadCount的值表示当前的总线程数。
[0043]202、所述数据监控工具根据所述线程总数确定预置线程阈值;
[0044]数据监控工具得到该WEB应用的线程总数后,根据该线程总数确定预置线程阈值,该预置线程阈值不大于该线程总数。
[0045]分配给Tomcat服务器中WEB应用的线程总数是Tomcat等WEB容器一个很重要的资源池,用来响应浏览器发起的HTTP请求,一般线程总数的大小是可以配置的,具体配置多少要根据WEB应用的特征跟应用服务器硬件的处理能力而定。例如,一般对于8线程SG内存的设备,将线程总数大小配置为200个较为合适。
[0046]繁忙线程数就是那些正在处理具体事务的HTTP线程,这个数越大,说明当前正在处理的事务越多,当达到一定数量的时候,硬件的计算资源可能会出现瓶颈,因此前端用户就会有变慢的感觉,或者当发生什么特别的异常,如数据库出现问题、网络出现问题、磁盘1出现问题等,HTTP线程都可能出现大量等待,这时繁忙线程数可能快速上涨,这时候只有捕捉到快照才能定位问题出现在哪里,所以我们在这里就设置一个预置线程阈值,当超过预置线程阈值的时候就自动抓取快照,一般这个预置线程阈值设置为线程总数的一半较为合适;例如,配置线程总数为200,那么预置线程阈值可以设置为100,当然,根据具体的情况还可以有其他的设置方式,例如设置另外的数值,或者,按其他的百分比来设定,此处不做限定。
[0047]203、当确定所述繁忙线程数大于预置线程阈值时,数据监控工具通过JMX协议采集Tomcat服务器中第二组件的数据,所述第二组件的数据中包括有HTTP请求数据;
[0048]当确定该线程繁忙数大于预置线程阈值时,该数据监控工具通过JMX协议采集Tomcat服务器中第二组件的数据,该第二组件的数据中包括有HTTP请求数据;
[0049]如图4所示,为利用Java语言的软件开发工具包((Java Development Kit,JDK)里面的一个工具Jconsole获取该第二组件的数据的示例,其中,第二组件下文件夹RequestProcessor中即记录了 Tomcat服务器中响应各HTTP请求的线程,每个对象中包含有具体的HTTP请求的内容。
[0050]204、当确定所述繁忙线程数大于预置线程阈值时,数据监控工具通过JMX协议采集Tomcat服务器中第三组件的数据,所述第三组件的数据中包括有JVM线程数据;
[0051]当确定所述繁忙线程数大于预置线程阈值时,数据监控工具通过JMX协议采集Tomcat服务器中第三组件的数据,所述第三组件的数据中包括有JVM线程数据;
[0052]如图5所示,为利用Java语言的软件开发工具包((Java Development Kit,JDK)里面的一个工具Jconsole获取该第三组件的数据的示例,其中,通过该第三组件Threading即可得到Tomcat服务器的JVM线程数据。
[0053]可以理解的是,步骤204可以在步骤203之前执行,可以在步骤203之后执行,也可以与步骤203同时执行,此处不作限定。
[0054]205、所述数据监控工具根据所述HTTP请求数据生成所述Tomcat服务器的HTTP请求快照,根据所述JVM线程数据生成所述Tomcat服务器的JVM线程快照。
[0055]该数据监控工具得到Tomcat服务器的HTTP请求数据后,可以根据该HTTP请求数据生成HTTP请求快照,得到Tomcat服务器的JVM线程数据后,可以根据该JVM线程数据生成JVM线程快照。
[0056]可以理解的是,该JMX线程数据记录了实际执行的操作,该HTTP请求数据记录了请求执行的操作。
[0057]206、根据所述HTTP请求快照和JVM线程快照,分析所述Tomcat服务器中WEB应用的性能。
[0058]该数据监控工具得到HTTP请求快照和JVM线程快照后,根据该HTTP请求快照和JVM线程快照,分析该Tomcat服务器中WEB应用的性能。
[0059]可以理解的,对该HTTP请求快照和JVM线程快照的分析,可以由人工(例如开发人员)来完成,也可以设定标准的流程,由设备来自动完成,此处不作限定。
[0060]下面举例对采用人工方式根据HTTP请求快照和JVM线程快照分析WEB应用的性能进行说明:
[0061 ] 如图6所示,为截取到的一个HTTP请求快照的示例,假设该快照名为:中间件主机22_HttpRequestTrace_20130715163001.html ;
[0062]如图7所示,为截取到的一个JVM线程快照的示例,假设该快照名为:
[0063]中间件主机22_ThreadTrace_20130715163001.html ;
[0064]开发人员发现该HTTP请求快照(中间件主机22_HttpRequestTrace_20130715163001.html)中存在大量的对目标地址 http://oa.test,cn//j_acegi_security_check进行的访问,而出现大量类似请求说明某一功能可能出现大量访问或者出现阻塞问题;
[0065]开发人员确定请求该目标地址http://oa.test, cn//j_acegi_security_check的线程名有:http-80-200,http-80-107, http-80-233, http-80-181 等;
[0066]开发人员选取其中一部分,以http-80-107为例,在线程快照中间件主机22_ThreadTrace_20130715163001.html 中搜索到同样线程名 http-80-107 的线程堆栈,从堆栈的最后知道当前线程正在跟数据库进行通信,如果发现不同的线程堆栈(例如http-80-200,http-80-233和http-80-181等的线程堆栈)都是处理类似的问题,这样开发人员就能知道问题出现在什么地方了,比如如果大量出现调用数据库的访问方法,那说明数据库发生阻塞了,开发人员就将分析转向数据库端分析,如果大量出现1读取调用,那可能出现磁盘瓶颈等,还可以根据不同的情况,定位出其他很多问题,这里不再一一列举。
[0067]可选的,也可以由设备自动的来对HTTP请求快照和JVM线程快照进行分析,具体的:当所述HTTP请求快照中对同一目标地址进行访问的线程的数目超出预置数值时,所述数据监控工具可以记录所述对同一目标地址进行访问的线程的线程名;所述数据监控工具在所述JVM线程快照中查找记录的所述线程名,确定所述对同一目标地址进行访问的线程执行的操作;根据所述对同一目标地址进行访问的线程执行的操作,确定所述繁忙线程数大于预置线程阈值时所述WEB应用存在的问题。而对同一目标地址进行访问的线程执行的操作与WEB应用存在的问题的对应关系,可以事先由开发人员存储在该数据监控工具上,也可以有该数据监控工具从网络上获取,此处不做限定。
[0068]本发明实施例中,数据监控工具可以通过Tomcat服务器中的第一组件来获取该繁忙进程数,使得得到繁忙进程数更加可靠,对系统变慢的时机把握的更加准确,进一步的,得到HTTP请求快照和JVM线程快照,根据这两个快照,可以分析出Tomcat服务器中WEB应用的性能,能方便快速的定位系统变慢时的问题所在,进行分析时,如果只有一个快照,例如只有HTTP请求快照,因为线程中的信息没有跟HTTP请求信息绑定,很难或者没法知道请求的目标内容是什么,难以定位问题,若只有JVM线程快照,由于信息庞杂,没有目标,也很难定位出问题的根源,只有两者结合,才能准确快速的定位出导致系统变慢的真正原因,从而方便对其进行解决。
[0069]下面对本发明实施例中的数据监控工具进行描述,请参阅图8,本发明实施例中数据监控工具一个实施例包括:
[0070]线程获取模块801,用于获取Tomcat服务器的繁忙线程数;
[0071]快照获取模块802,用于当确定所述线程获取模块801获取的繁忙线程数大于预置线程阈值时,获取所述Tomcat服务器的HTTP请求快照和JVM线程快照。
[0072]本发明实施例中当确定繁忙线程数大于预置线程阈值时,快照获取模块802获取该Tomcat服务器的HTTP请求快照和JVM线程快照。繁忙线程数,表示实际正在处理HTTP请求业务的线程数,一般状况下,繁忙线程数可能比较低,当发生瞬间访问量增大或者系统发生阻塞时,繁忙线程数就会增加,有时可能突然增加很大,有时可能持续增大,这时,系统的响应就会变慢,导致间歇性响应变慢,这样,设置一个预置线程阈值,当超过预置线程阈值时,快照获取模块802就抓取JVM线程快照,同时抓取TOMCAT服务器中的HTTP请求快照,这样就准确的定位了 WEB应用发生间歇性响应变慢的时间点,抓到HTTP请求内容的快照,同时又抓住了 JVM线程的快照这两个重要信息,HTTP请求表示要做什么,JVM线程表示实际在做什么,将这两个重要信息结合,可以很方便的确定出是因为什么原因导致的间歇性响应变慢。
[0073]下面对本发明实施例中的数据监控工具进行具体描述,请参阅图9,本发明实施例中的数据监控工具包括:
[0074]线程获取模块901,用于获取Tomcat服务器的繁忙线程数;
[0075]快照获取模块902,用于当确定所述线程获取模块901获取的繁忙线程数大于预置线程阈值时,获取所述Tomcat服务器的HTTP请求快照和JVM线程快照;
[0076]本实施例中,该线程获取模块901具体用于,通过JMX协议采集Tomcat服务器中第一组件的数据,所述第一组件的数据中包括有所述Tomcat服务器的繁忙线程数和线程总数;
[0077]该数据监控工具还包括:
[0078]阈值确定模块903,用于根据所述线程总数确定所述预置线程阈值,所述预置线程阈值不大于所述线程总数;
[0079]可选的,该快照获取模块902具体包括:
[0080]第一获取单元9021,用于通过JMX协议采集Tomcat服务器中第二组件的数据,所述第二组件的数据中包括有HTTP请求数据;
[0081]第二获取单元9022,用于通过JMX协议采集Tomcat服务器中第三组件的数据,所述第三组件的数据中包括有JVM线程数据;
[0082]快照生成单元9023,用于根据所述HTTP请求数据生成所述Tomcat服务器的HTTP请求快照,根据所述JVM线程数据生成所述Tomcat服务器的JVM线程快照;
[0083]可选的,该数据监控工具还可以包括:
[0084]分析模块904,用于根据所述HTTP请求快照和JVM线程快照,分析所述Tomcat服务器中WEB应用的性能;
[0085]可选的,该分析模块904具体可以包括:
[0086]记录单元9041,用于当所述HTTP请求快照中对同一目标地址进行访问的线程的数目超出预置数值时,记录所述对同一目标地址进行访问的线程的线程名;
[0087]查找单元9042,用于在所述JVM线程快照中查找记录的所述线程名,确定所述对同一目标地址进行访问的线程执行的操作;
[0088]确定单元9043,用于根据所述对同一目标地址进行访问的线程执行的操作,确定所述繁忙线程数大于预置线程阈值时所述Tomcat服务器中WEB应用存在的问题。
[0089]本发明实施例中,线程获取模块901可以通过Tomcat服务器中的第一组件来获取该繁忙进程数,使得得到繁忙进程数更加可靠,对系统变慢的时机把握的更加准确,进一步的,快照获取模块902得到HTTP请求快照和JVM线程快照,根据这两个快照,分析模块904可以分析该WEB应用的性能,能方便快速的定位系统变慢时的问题所在,进行分析时,如果只有一个快照,例如只有HTTP请求快照,因为线程中的信息没有跟HTTP请求信息绑定,很难或者没法知道请求的目标内容是什么,难以定位问题,若只有JVM线程快照,由于信息庞杂,没有目标,也很难定位出问题的根源,只有两者结合,才能准确快速的定位出导致系统变慢的真正原因,从而方便对其进行解决。
[0090]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0091]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0092]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0093]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0094]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0095]以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种快照抓取方法,其特征在于,包括: 数据监控工具获取Tomcat服务器的繁忙线程数; 当确定所述繁忙线程数大于预置线程阈值时,所述数据监控工具获取所述Tomcat服务器的HTTP请求快照和JVM线程快照。
2.根据权利要求1所述的方法,其特征在于,所述数据监控工具获取Tomcat服务器的繁忙线程数具体包括: 数据监控工具通过JMX协议采集Tomcat服务器中第一组件的数据,所述第一组件的数据中包括有所述Tomcat服务器的繁忙线程数和线程总数; 所述方法还包括: 所述数据监控工具根据所述线程总数确定所述预置线程阈值,所述预置线程阈值不大于所述线程总数。
3.根据权利要求2所述的方法,其特征在于,所述数据监控工具获取所述Tomcat服务器的HTTP请求快照和JVM线程快照具体包括: 所述数据监控工具通过JMX协议采集Tomcat服务器中第二组件的数据,所述第二组件的数据中包括有HTTP请求数据; 所述数据监控工具通过JMX协议采集Tomcat服务器中第三组件的数据,所述第三组件的数据中包括有JVM线程数据; 所述数据监控工具根据所述HTTP请求数据生成所述Tomcat服务器的HTTP请求快照,根据所述JVM线程数据生成所述Tomcat服务器的JVM线程快照。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括: 根据所述HTTP请求快照和JVM线程快照,分析所述Tomcat服务器中WEB应用的性能。
5.根据权利要求4所述的方法,其特征在于,所述根据所述HTTP请求快照和JVM线程快照,分析所述Tomcat服务器中WEB应用的性能具体包括: 当所述HTTP请求快照中对同一目标地址进行访问的线程的数目超出预置数值时,所述数据监控工具记录所述对同一目标地址进行访问的线程的线程名; 所述数据监控工具在所述JVM线程快照中查找记录的所述线程名,确定所述对同一目标地址进行访问的线程执行的操作; 根据所述对同一目标地址进行访问的线程执行的操作,确定所述繁忙线程数大于预置线程阈值时所述Tomcat服务器中WEB应用存在的问题。
6.一种数据监控工具,其特征在于,包括: 线程获取模块,用于获取Tomcat服务器的繁忙线程数; 快照获取模块,用于当确定所述线程获取模块获取的繁忙线程数大于预置线程阈值时,获取所述Tomcat服务器的HTTP请求快照和JVM线程快照。
7.根据权利要求6所述的数据监控工具,其特征在于,所述线程获取模块具体用于,通过JMX协议采集Tomcat服务器中第一组件的数据,所述第一组件的数据中包括有所述Tomcat服务器的繁忙线程数和线程总数; 所述数据监控工具还包括: 阈值确定模块,用于根据所述线程总数确定所述预置线程阈值,所述预置线程阈值不大于所述线程总数。
8.根据权利要求7所述的数据监控工具,其特征在于,所述快照获取模块具体包括: 第一获取单元,用于通过JMX协议采集Tomcat服务器中第二组件的数据,所述第二组件的数据中包括有HTTP请求数据; 第二获取单元,用于通过JMX协议采集Tomcat服务器中第三组件的数据,所述第三组件的数据中包括有JVM线程数据; 快照生成单元,用于根据所述HTTP请求数据生成所述Tomcat服务器的HTTP请求快照,根据所述JVM线程数据生成所述Tomcat服务器的JVM线程快照。
9.根据权利要求6至8中任一项所述的数据监控工具,其特征在于,所述数据监控工具还包括: 分析模块,用于根据所述HTTP请求快照和JVM线程快照,分析所述Tomcat服务器中WEB应用的性能。
10.根据权利要求9所述的数据监控工具,其特征在于,所述分析模块具体包括: 记录单元,用于当所述HTTP请求快照中对同一目标地址进行访问的线程的数目超出预置数值时,记录所述对同一目标地址进行访问的线程的线程名; 查找单元,用于在所述JVM线程快照中查找记录的所述线程名,确定所述对同一目标地址进行访问的线程执行的操作; 确定单元,用于根据所述对同一目标地址进行访问的线程执行的操作,确定所述繁忙线程数大于预置线程阈值时所述Tomcat服务器中WEB应用存在的问题。
【文档编号】G06F11/14GK104410671SQ201410614080
【公开日】2015年3月11日 申请日期:2014年11月3日 优先权日:2014年11月3日
【发明者】徐霞, 杨健伟, 林殿兴, 贾江兵 申请人:深圳市蓝凌软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1