[发明专利]应用服务器的性能分析方法和应用服务器有效
申请号: | 200910171812.1 | 申请日: | 2009-08-31 |
公开(公告)号: | CN101645032A | 公开(公告)日: | 2010-02-10 |
发明(设计)人: | 殷慷 | 申请(专利权)人: | 金蝶软件(中国)有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F9/46 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) | 代理人: | 彭愿洁;李文红 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 服务器 性能 分析 方法 | ||
技术领域
本发明涉及通信技术领域,具体涉及应用服务器的性能分析方法和应用服务器。
背景技术
在Java领域,分析性能问题的主要工具就是性能剖析器(Profiler),用于分析应用程序的响应时间及内存占用,从而实现对应用服务器的性能分析。性能剖析器主要使用步骤如下:
应用程序启动时,增加某个Java虚拟机(JVM,Java Virtual Machine)启动参数,开启虚拟机工具接口代理(JVMTI Agent,JVM Tool Interface Agent)服务以启动虚拟机工具接口。在运行待分析功能点前,性能剖析器指定一个分析范围,例如某个命名空间某些类的所有方法等,然后通过虚拟机的接口,附加到正在运行的应用程序上,之后即可以运行待分析功能点,由性能剖析器记录该待分析功能点执行过程中的Java指令执行或对象创建等明细信息,直至待分析功能点运行结束,此时,性能剖析器根据明细信息生成性能图表,然后再根据性能图表,分析该功能点性能缺陷的性质,给出优化方案。
在对现有技术的研究和实践过程中,本发明的发明人发现,采用性能剖析器来实现对应用服务器的性能分析时,由于性能剖析器必须记录分析范围内的每个Java指令,所以会使所有Java指令的执行时间增加,从而降低应用程序的整体运行速度,特别是随着分析范围的增大,可能会几倍甚至几十倍地增加功能的响应时间,导致分析效率较低,使得其只能在开发环境中使用,而无法在生产环境中使用,但是许多性能缺陷只在生产环境中出现,开发环境中无法重现,因此很难实现性能优化。
发明内容
本发明实施例提供应用服务器的性能分析方法和应用服务器,可以实现较高的分析效率,使其可以在生产环境中使用。
一种应用服务器的性能分析方法,包括:
接收到远程调用请求或超文本传输协议(HTTP,Hypertext TransferProtocol)请求应答时,通知性能日志模块(PerformaceLog)开始性能事务;
发送所述性能事务请求给业务组件;
通过业务组件执行数据库连接(JDBC,Java Data Base Connectivity)以访问数据库;
记录在访问数据库的过程中的性能数据;
将所述性能数据发送给性能日志模块,从而完成一次性能事件;
在完成远程调用处理或生成HTTP应答时,通知性能日志模块结束性能事务,以便性能日志模块将接收到的性能数据转换成性能事务、性能事件及其参数后,输出日志文件。
一种应用服务器,包括:
开始通知单元,用于接收到远程调用请求或HTTP请求应答时,通知性能日志模块开始性能事务;
启动单元,发送所述性能事务请求给业务组件;
访问单元,用于通过启动单元启动的业务组件执行JDBC以访问数据库;
记录单元,用于记录在访问单元访问数据库的过程中的性能数据;
发送单元,将所述记录单元记录的性能数据发送给开始通知单元所通知的性能日志模块,从而完成一次性能事件;
结束通知单元,用于在完成远程调用处理或生成HTTP应答时,通知性能日志模块结束性能事务,以便性能日志模块将接收到的发送单元所发送的性能数据转换成性能事务、性能事件及其参数后,输出日志文件。
本发明实施例采用了一种与现有技术中完全不同的性能分析方法,主要通过开启性能日志模块来收集在进行远程调用时或HTTP请求应答时应用服务器的性能数据,然后将这些性能数据以日志的形式输出;相比较于现有技术中采用性能剖析器来进行应用服务器的性能分析而言,本方案不存在必须记录分析范围内的每个Java指令的情况,其时间消耗主要在输出日志时的文件系统接口,但这可以通过日志工具包,比如Log4j使得该部分的消耗降到最低,从而可以实现提高分析效率的目的,使其可以在生产环境中使用。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一所提供的方法的方法流程图;
图2是本发明实施例二所提供的方法的方法流程图;
图3是本发明实施例三所提供的方法的方法流程图;
图4是是本发明实施例所提供的应用服务器的结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金蝶软件(中国)有限公司,未经金蝶软件(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910171812.1/2.html,转载请声明来源钻瓜专利网。