一种监控应用服务器资源的方法及装置制造方法

文档序号:6648968阅读:188来源:国知局
一种监控应用服务器资源的方法及装置制造方法
【专利摘要】本发明提供了一种监控应用服务器资源的方法及装置,其中方法包括:根据实际业务情况模拟用户对业务系统的并发操作来测试应用服务器的性能;在对应用服务器进行性能测试的过程中,由JVM监控模块收集Java虚拟机运行的第一资源使用数据,由主机资源监控模块收集应用服务器主机的第二资源使用数据;对第一资源使用数据和第二资源使用数据进行汇总分析,得出影响应用服务器性能的数据参数。本发明提高对应用服务器性能调优的时间并准确性提醒应用服务器维护人员对相关系统参数进行调整,或通过自动方式进行调整,从而达到优化应用服务器性能的目的。
【专利说明】一种监控应用服务器资源的方法及装置

【技术领域】
[0001]本发明涉及中间件技术中的应用服务器技术,尤其涉及监控应用服务器资源的方法及装置。

【背景技术】
[0002]中间件(Middleware)是处于操作系统和应用程序之间的软件,它屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单、统一的开发环境,以减少程序设计的复杂性,将注意力集中在业务上,不必为程序在不同系统软件上的移植而费尽脑筋,并减少软件的重复开发,从而简化软件的开发过程,缩短开发周期,同时也减少了系统维护、运行和管理的工作量,同时还减少了计算机应用的总体费用的投入。
[0003]中间件与操作系统、数据库并列为三大基础软件。中间件不仅仅要实现它们之间的互连,还要实现它们与应用之间的互操作。中间件技术的核心是应用服务器(Applicat1n Server)。随着信息技术和互联网技术的迅速发展,企业业务系统的复杂程度和业务量急剧增加。为了简化应用软件的开发工作量,应用服务器被广泛应用。其中,Java平台企业版(JEE,Java Platform Enterprise Edit1n)应用服务器,为企业级大型、巨型应用软件的开发、部署、运行以及管理提供了有力的工具和平台。
[0004]目前,JEE应用服务器的性能问题一直困扰着业务应用的开发人员和JEE应用服务器的维护人员。JEE应用服务器一般自身都带有Java虚拟机(JVM,Java VirtualMachine)的监控模块,一些第三方开发工具也相应支持对JEE应用服务器的监控,如Java开发工具包(JDK,Java Developer’s Kit)自带的两个工具Jconsole和Jvisualvm。但是,由于JEE应用服务器的JVM运行在操作系统平台之上,故上述这些工具只能实现对系统CPU、内存和JVM运行的类、线程及Java数据库连接(JDBC,Java DataBase Connect1n)的监控,而无法实现对系统磁盘和网络资源的监控。资源监控工具Spotlight恰能实现对服务器系统资源的实时监控,但其不能对JVM所监控的主机资源进行监控。
[0005]因此,需要提供一种监控应用服务器资源的方法,能够将JVM,Java监控模块与Spotlight监控工具二者的功能有机的结合,以提高对JEE应用服务器的资源进行监控的机能和效率,从而达到优化JEE应用服务器性能的目的。


【发明内容】

[0006]本发明所要解决的技术问题是提供一种监控应用服务器资源的方法及装置,能够提高对JEE应用服务器的资源进行监控的机能和效率。
[0007]为了解决上述技术问题,本发明提供了一种监控应用服务器资源的装置,包括依次连接的性能测试模块、JVM监控模块以及性能分析模块;此外,还包括分别与性能测试模块和性能分析模块连接的主机资源监控模块,其中:
[0008]性能测试模块,用于根据实际业务情况模拟用户对业务系统的并发操作来测试应用服务器的性能;
[0009]JVM监控模块,用于收集对应用服务器的性能测试过程中Java虚拟机运行时的第一资源使用数据,并输出给性能分析模块;
[0010]主机资源监控模块,用于收集对应用服务器的性能测试过程中应用服务器主机的第二资源使用数据,并输出给性能分析模块;
[0011]性能分析模块,用于对输入的第一资源使用数据和第二资源使用数据进行汇总分析,得出影响应用服务器性能的数据参数。
[0012]进一步地,性能分析模块根据得出的影响应用服务器性能的数据参数给出资源使用的统计图标展示。
[0013]进一步地,性能分析模块根据得出的影响应用服务器性能的数据参数给出性能调优建议。
[0014]进一步地,
[0015]JVM监控模块收集的Java虚拟机运行时的第一资源使用数据包括CPU、内存、线程池、Java数据库连接池的一种或多种;
[0016]主机资源监控模块收集的应用服务器主机的第二资源使用数据包括磁盘、读写I/O以及网络带宽的一种或多种。
[0017]进一步地,
[0018]性能分析模块根据为所述Java虚拟机分配的资源与第一资源使用数据进行计算,得出JVM运行时第一资源的使用率;根据为应用服务器主机分配的资源与第二资源使用数据进行计算,得出应用服务器主机的第二资源使用率;然后综合分析第一资源的使用率和第二资源的使用率得出影响应用服务器性能的数据参数。
[0019]为了解决上述技术问题,本发明提供了一种监控应用服务器资源的方法,包括:
[0020]根据实际业务情况模拟用户对业务系统的并发操作来测试应用服务器的性能;
[0021]在对应用服务器进行性能测试的过程中,由JVM监控模块收集Java虚拟机运行的第一资源使用数据,由主机资源监控模块收集应用服务器主机的第二资源使用数据;
[0022]对第一资源使用数据和第二资源使用数据进行汇总分析,得出影响应用服务器性能的数据参数。
[0023]进一步地,该方法还包括:
[0024]根据得出的影响应用服务器性能的数据参数给出资源使用的统计图标展示。
[0025]进一步地,该方法还包括:
[0026]根据得出的影响应用服务器性能的数据参数给出应用服务器的性能调优建议。
[0027]进一步地,由JVM监控模块收集的Java虚拟机运行的第一资源使用数据包括CPU、内存、线程池、Java数据库连接池的一种或多种;由主机资源监控模块收集应用服务器主机的第二资源使用数据包括磁盘、读写I/O以及网络带宽的一种或多种。
[0028]进一步地,对第一资源使用数据和第二资源使用数据进行汇总分析,得出影响应用服务器性能的数据参数,具体包括:
[0029]根据为所述Java虚拟机分配的资源与第一资源使用数据进行计算,得出JVM运行时第一资源的使用率;根据为应用服务器主机分配的资源与第二资源使用数据进行计算,得出应用服务器主机的第二资源使用率;
[0030]综合分析第一资源的使用率和第二资源的使用率得出影响应用服务器性能的数据参数。
[0031 ] 本发明通过JVM监控模块和主机资源监控模块实现对JEE应用服务器运行资源的全面监控,通过性能分析模块的分析处理得出影响JEE应用服务器性能的问题参数,整个监控过程减少了人为收集参数数据分析的时间,提高了对JEE应用服务器性能调优的时间并准确地提醒了 JEE应用服务器维护人员对相关系统参数进行调整,或通过自动方式进行调整,从而达到优化JEE应用服务器性能的目的。

【专利附图】

【附图说明】
[0032]图1为本发明的监控应用服务器资源的装置实施例的逻辑结构图;
[0033]图2为本发明的监控应用服务器资源的方法实施例的流程图。

【具体实施方式】
[0034]下面结合附图和优选实施例对本发明的技术方案进行详细地阐述。应该理解,以下列举的实施例仅用于说明和解释本发明,而不构成对本发明技术方案的限制。
[0035]图1表示了本发明的监控应用服务器资源的装置实施例的逻辑结构,包括依次连接的性能测试模块、JVM监控模块以及性能分析模块,还包括分别与性能测试模块和性能分析模块连接的主机资源监控模块,其中:
[0036]性能测试模块,用于根据实际业务情况模拟用户对业务系统的并发操作来测试应用服务器的性能(也称压力测试);
[0037]JVM监控模块,用于收集对应用服务器的性能测试过程中Java虚拟机运行时的第一资源使用数据,并输出给性能分析模块;
[0038]主机资源监控模块,用于收集对应用服务器的性能测试过程中应用服务器主机的第二资源使用数据,并输出给性能分析模块;
[0039]性能分析模块,用于对输入的第一资源使用数据和第二资源使用数据进行汇总分析,得出影响应用服务器性能的数据参数;根据得出的数据参数给出性能调优建议和/或给出资源使用的统计图标展示。
[0040]在上述装置实施例中,
[0041]JVM监控模块收集的Java虚拟机运行时的第一资源使用数据包括CPU、内存、线程池、Java数据库连接池的一种或多种;
[0042]主机资源监控模块收集的应用服务器主机的第二资源使用数据包括磁盘、读写I/O以及网络带宽的一种或多种。
[0043]在上述装置实施例中,
[0044]性能分析模块根据为Java虚拟机分配的资源与第一资源使用数据进行计算,得出JVM运行时第一资源的使用率;根据为JEE应用服务器(以下简称为应用服务器)的主机分配的资源与第二资源使用数据进行计算,得出主机的第二资源使用率;然后综合分析第一资源的使用率和第二资源的使用率得出影响应用服务器性能的数据参数。
[0045]JEE应用服务器的运行性能取决于JVM资源分配的是否合理,同时,JVM能分配的资源又依赖于主机资源。因此掌握了 JVM和主机资源的使用情况就能很好的优化JEE应用服务器,以下为例说明这一方法的实现过程:
[0046]假设案例环境JEE应用服务器运行在32G内存的主机上,其中网络环境为百兆网,同时,分配给JVM运行的内存为2G,其它资源信息略过。
[0047]首先,由性能测试模块对需要调优的JEE应用服务器进行压力测试;由JVM监控模块得到第一资源数据Java虚拟机使用的内存为1.9G,由主机资源监控模块得到第二资源数据JEE应用服务器的主机使用的内存为4G、网络带宽占用98M。
[0048]然后由性能分析模块分析第一资源得出JVM内存使用率是95%,分析第二资源得出主机内存使用率是12.5%,网络带宽使用率是98%。如果预先设置每个资源使用率预警值(预警值即资源使用率百分值限制,若该预警值被超过,则存在影响JEE应用服务器性能的风险),其中内存预警值为90%,网络带宽预警值为95% ;根据以上数据得出JVM内存使用率超过内存预警值(95% >90% ),网络带宽使用率超过网络带宽预警值(98% >95%),由此得到影响性能的两个具体数据参数:JVM内存不足和网络带宽受限。
[0049]对于上述JVM内存不足存在内存溢出的风险,则需要分配给JVM更多的内存,但关键在于需要分配给JVM多少的内存?其中JVM内存分为分配给运行的应用程序使用的堆内存(Heap Memory)和运行JVM自身的非堆内存(Non-heap Memory),对于二者又该如何分别进行分配?在此,性能分析模块需要综合JVM的内存值和主机的内存值以及内存使用情况,一方面,JVM内存不足,JVM内存使用率95%超过预警值需要增加JVM内存;另一方面,还需确定主机是否有内存资源可以分配给JVM,主机内存使用率为12.5%,说明主机内存充足,因而可分配给JVM更多的内存;另一方面,JVM能够正常工作,可由此确定非堆内存暂时够用,则可以增加堆内存的值,以达到优化JEE应用服务器的目的,由此得出调优的第一条建议“ JVM内存使用率达到95%,请增大JVM的堆内存值”。
[0050]对于网络带宽受限存在网络拥堵导致应用服务器性能下降的风险,由于网络带宽是整个主机的资源,无法确定具体应分配给应用服务器多大带宽。针对上述案例环境,得到网络带宽使用率98%,已造成严重的网络堵塞,这时若知主机目前的网络带宽是百兆网,则可以将网络升级千兆,从而得出调优的第二条建议“网络带宽限制,请更换千兆网”;若知主机目前的网络带宽已经是千兆网,则可得出相应的调优建议“通过文件压缩手段解决网络堵塞”。
[0051]根据资源使用率等数据资源得到资源使用统计图标,正常资源如线程、邛8(:、磁盘I/O等以绿色图表显示,问题资源内存、网络带宽等以红色图表显示,并给出上述调优的建议。
[0052]本发明针对上述系统实施例,相应地还提供了监控应用服务器资源的方法实施例,其流程如图2所示,包括如下步骤:
[0053]110:根据实际业务情况模拟用户对业务系统的并发操作来测试应用服务器的性會K ;
[0054]120:由JVM监控模块和主机资源监控模块分别收集应用服务器的性能测试过程中JVM运行的第一资源使用数据和应用服务器主机的第二资源使用数据;
[0055]JVM监控模块收集的Java虚拟机运行时的第一资源使用数据包括CPU、内存、线程池、Java数据库连接池的一种或多种;
[0056]主机资源监控模块收集的应用服务器主机的第二资源使用数据包括磁盘、读写I/O以及网络带宽的一种或多种。
[0057]130:对第一资源使用数据和第二资源使用数据进行汇总分析,得出影响应用服务器性能的数据参数。
[0058]上述方法实施例还包括:
[0059]根据得出影响应用服务器性能的数据参数给出性能调优建议和/或给出资源使用的统计图标展示。
[0060]在本步骤中,根据为Java虚拟机分配的资源与第一资源使用数据进行计算,得出JVM运行时第一资源的使用率;根据为应用服务器的主机分配的资源与第二资源使用数据进行计算,得出主机的第二资源使用率;然后综合分析第一资源的使用率和第二资源的使用率得出影响应用服务器性能的数据参数。
[0061]本发明通过JVM监控模块和主机资源监控模块实现对应用服务器运行资源的全面监控,通过性能分析模块的分析处理得出影响应用服务器性能的问题参数,整个监控过程减少了人为收集参数数据分析的时间,提高了对应用服务器性能调优的时间和准确性。
【权利要求】
1.一种监控应用服务器资源的装置,包括依次连接的性能测试模块、JVM监控模块以及性能分析模块;其特征在于,还包括分别与性能测试模块和性能分析模块连接的主机资源监控模块,其中: 性能测试模块,用于根据实际业务情况模拟用户对业务系统的并发操作来测试应用服务器的性能; JVM监控模块,用于收集对应用服务器的性能测试过程中Java虚拟机运行时的第一资源使用数据,并输出给性能分析模块; 主机资源监控模块,用于收集对应用服务器的性能测试过程中应用服务器主机的第二资源使用数据,并输出给性能分析模块; 性能分析模块,用于对输入的第一资源使用数据和第二资源使用数据进行汇总分析,得出影响应用服务器性能的数据参数。
2.按照权利要求1所述的装置,其特征在于,所述性能分析模块根据得出的所述影响应用服务器性能的数据参数给出资源使用的统计图标展示。
3.按照权利要求1所述的装置,其特征在于,所述性能分析模块根据得出的所述影响应用服务器性能的数据参数给出性能调优建议。
4.按照权利要求1至3任一项所述的装置,其特征在于, 所述JVM监控模块收集的Java虚拟机运行时的第一资源使用数据包括CPU、内存、线程池、Java数据库连接池的一种或多种; 所述主机资源监控模块收集的应用服务器主机的第二资源使用数据包括磁盘、读写I/O以及网络带宽的一种或多种。
5.按照权利要求1至3任一项所述的装置,其特征在于, 所述性能分析模块根据为所述Java虚拟机分配的资源与第一资源使用数据进行计算,得出JVM运行时第一资源的使用率;根据为所述应用服务器主机分配的资源与第二资源使用数据进行计算,得出所述应用服务器主机的第二资源使用率;然后综合分析第一资源的使用率和第二资源的使用率得出影响应用服务器性能的数据参数。
6.一种监控应用服务器资源的方法,包括: 根据实际业务情况模拟用户对业务系统的并发操作来测试应用服务器的性能; 在对应用服务器进行性能测试的过程中,由JVM监控模块收集Java虚拟机运行的第一资源使用数据,由主机资源监控模块收集应用服务器主机的第二资源使用数据; 对第一资源使用数据和第二资源使用数据进行汇总分析,得出影响应用服务器性能的数据参数。
7.按照权利要求6所述的方法,还包括: 根据得出的所述影响应用服务器性能的数据参数给出资源使用的统计图标展示。
8.按照权利要求6所述的方法,还包括: 根据得出的所述影响应用服务器性能的数据参数给出所述应用服务器的性能调优建议。
9.按照权利要求6至8任一项所述的方法,其特征在于, 由JVM监控模块收集的Java虚拟机运行的第一资源使用数据包括CPU、内存、线程池、Java数据库连接池的一种或多种;由主机资源监控模块收集应用服务器主机的第二资源使用数据包括磁盘、读写I/o以及网络带宽的一种或多种。
10.按照权利要求6至8任一项所述的方法,其特征在于,所述对第一资源使用数据和第二资源使用数据进行汇总分析,得出影响应用服务器性能的数据参数,具体包括: 根据为所述Java虚拟机分配的资源与第一资源使用数据进行计算,得出JVM运行时第一资源的使用率;根据为所述应用服务器主机分配的资源与第二资源使用数据进行计算,得出所述应用服务器主机的第二资源使用率; 综合分析第一资源的使用率和第二资源的使用率得出所述影响应用服务器性能的数据参数。
【文档编号】G06F11/30GK104461832SQ201510007538
【公开日】2015年3月25日 申请日期:2015年1月7日 优先权日:2015年1月7日
【发明者】陈仁革 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1