- 浏览: 508410 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
wang1352083:
正在搭建tomcat源码.一会儿参照楼主经验搭建spring源 ...
Eclipse中阅读开源项目代码 -
w123456789zzzz:
谢谢你,问题解决了,楼主万岁!!
eclipse中如何安装插件 -
xiaoLee:
...
软件性能测试论文草稿 -
铃儿响叮当:
...
使用firefox调试js -
gogopengyou:
很细心啊
eclipse中如何安装插件
1、 摘要:
随着Java EE 应用系统的功能日益强大,复杂度也越来越大,性能问题开始暴露出来。本文是基于Java EE应用系统讨论了性能测试的方法和工具,并指明了如何运用这些工具和测试方法进行测试,以及对测试结果进行分析,最后提出对Java EE系统进行性能优化的方法。
2、概要:
Java EE是一种利用Java平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。它为搭建具有可伸缩性、灵活性、易维护性的商务体统了良好的极致。 但是随着Java EE技术的不断发展成熟,性能问题开始暴露和突出。在目前大多数的应用开发过程中,
往往着重于实现系统的功能而忽略性能问题。据Gartner统计,只有大约14%的应用达到了所有预期的测量
和测试响应时间。据Newport Group估计,从一个性能问题发现开始到完全解决,平均需要的时间是25.8
小时。在预算压缩和期望不断增大的今天,性能问题的解决更显得尤为重要。一般来说,在Java EE中性
能包括两个方面:
(1)响应时间: 开发处处请求到完全获得响应消息的时间间隔,即从用户申请一个页面开始到完全
获得页面的时间(我们一般采用的是服务端的时间, 参考段练老师的书籍)。
(2)可扩展性: 指的是应用程序的响应时间随着负载增加线性增长,这样的应用程序可以通过线性
增加硬件资源,处理越来越多的请求,即对多个用户的请求可以快速响应。
3、Java EE 结构:
Java EE应用程序采用的是三层体系结构: 客户端、服务器端和企业信息系统(EIS)资源。客户端可以是在浏览器中运行的静态页面或Java小程序(Applet),也可以是在Java EE客户端容器中运行的Java EE客户端应用程序。在服务器端,运行在Web容器中的Servlet和JSP产生Web用户界面,而运行在EGB容器中的EJBS则封装应用程序的逻辑和数据操作。典型的Java EE应用程序一般采用关系数据库作为EIS层。
4、 性能测试方法简介:
性能测试的方法主要有以下几种:
(1)负载测试: 通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况
下,系统所能承受的最大负载量的测试。
(2)压力测试: 通过逐步增加系统负载,测试系统性能的变化,并最终确定 什么负载条件下系统性
能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。
(3)疲劳强度测试: 通常以稳定运行状态下能够支持的最大并发用户数或者日常运行用户数据为依
据,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作强度性
能的过程。
(4)大数据量测试: 大数据量测试重点在于数据量,包括独立的数据量测试和综合数据量测试。
独立的数据量测试针对某些系统存储、传输、统计、查询的呢个业务进行大数据量测试,而综合数据量测
试一般和压力性能测试、负载性能测试、疲劳性能测试相结合。
5、测试工具Load Runner介绍
LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。通过模拟上千万用户实施开发负
载及实时性能监测的方式来确认和查找问题, LoadRunner能够对整个Java EE系统的架构进行测试。通过
使用LoadRunner,能最大限度地缩短测试时间、优化性能和加速应用系统发布周期。
LoadRunner架构:
LoadRunner 主要由虚拟用户生成器(Virtual User Generator)、压力产生器(Player)、用户代
理(Agent)、控制器(Controller)、结果分析器(Analysis)5个部分组成。
(1)虚拟用户生成器(Virtual User Generator)是一种基于Windows的开发调试应用程序,通过
它可以开发、调试并运行Vuser脚本。虚拟用户生成器通过录制客户端和后台服务器之间的通讯包,分析
其中的协议,自动产生脚本。在测试环境中,LoadRunner会在物理计算机上用虚拟用户(即Vuser)代替
实际用户。Vuser通过可以重复、可预测的方式模拟典型用户的操作,在系统上创建负载。
(2)控制器(Controller)是整个性能测试的核心,实际上它是一个框架程序和监控程序,负责
将虚拟用户生成器开发的脚本以多进程/多线程的方式运行。通过它可以管理和维护场景,可以从一台工
作站控制一个场景中分布在负载生成器上的所有Vuser,并可以同时监视网络、服务器的等资源。
(3)结果分析器(Analysis)实际上是一个数据分析工具,测试完毕后,结果分析器收集汇总所
有的测试数据,进行高级分析和汇总,迅速查找到性能问题并追溯原因。通过它可以将一个或多个场景运
行的结果生成图和报告,可以将几个图合并成一个图,对多个图进行比较,在报告和图中直观地查看性能
数据。
使用Load Runner进行测试的步骤:
LoadRunner对基于Web的应用程序进行的过程分6个步骤: 规划测试、创建Vuser脚本、创建方案、运行方案、监视方案和分析测试结果。
(1)规划测试: 定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间。制定完整的测试计划、定义明确的测试计划将确保制定的方案能完成测试目标。
(2)创建Vuser脚本: 使用LoadRunner的虚拟用户生成器生成虚拟用户,它先记录业务流程(如用户注册),然后将其转化为测试脚本,以虚拟用户的方式模拟真实用户的业务操作行为。利用虚拟用户,可以模拟成千上万个用户访问。
(3)创建方案: 使用LoadRunner Controller设置负载测试环境、业务流程组合和虚拟用户数量。
(4)运行方案: 通过LoadRunner Controller驱动、管理和监控负载测试。
(5)监视方案: 在负载测试过程中,LoadRunner内含的监测器可以随时观察到应用系统的运行性能。这些性能监测器实时显示性能数据(如响应时间)和其它系统组建、包括应用服务器、Web服务器和数据库等的实时性能。这样可以在测试过程中从客户和服务器的双方面评估这些系统组件的运行性能。
(6)分析测试结果: 测试完毕,LoadRunner将收集汇总所有的测试数据,并提供高级的分析和报告工具,以便迅速查找到性能问题。
6、测试案例(略)
7、优化措施(略)
8、结束语
由于Java EE 应用程序本身的复杂性和特殊性, 使得影响Web性能的因素很多,要评估Java EE系统
性能及优化要从软硬件两方面下手找出性能瓶颈。从对应用系统的测试情况来看,LoadRunner具有快速、
可靠、稳定和可重复等特征,能够叫准确的评估Java EE应用系统的真实性能,可以迅速查找到性能问题
并追根溯源。通过使用Load Runner, 可以最大限度地缩短测试时间、优化性能和加速应用系统的分布周
期。
9、 参考文献
[1]锻念. 软件性能测试过程详解与案例剖析[M]. 北京:清华大学出版社,2006.
[2]Peter Zadrozny等著. J2EE性能测试. 张文耀等译,北京:电子工业出版社,2003.
[3]刘群策. LoadRunner和软件项目性能测试[M]. 北京:机械工业出版社,2008.
[4]彭彬,甘早斌,李志欣. 基于J2EE的Web应用系统的优化设计[J]. 计算机工程与科学,2005,27(10).
[5]覃桂敏,王力. J2EE应用开发过程中性能问题的研究[J]. 计算机工程,2004,30(12).
[6]JunitPerf. http://www.clarkware.com/software/JUnitPerf.html.
[7]叶新铭,冯晓利. 软件压力测试流程[J]. 内蒙古大学学报(自然科学版),2002,33(1).
[8]马琳,罗铁坚,等. Web系统性能测试及优化[J]. 计算机工程,2005,31(12).
[9]张友生. 基于Web的系统测试方法. 中国系统分析员, http://www.csai.cn/test/web.htm.
[10]http://httpunit.sourceforge.net/.
[11]http://openload.sourceforge.net/.
[12]姜昌华,朱敏,等. Web应用程序压力测试[J]. 计算机应用, 2003,23(10).
[13]吴藜岚. Web动态测试研究及其应用[J]. 贵州工业大学学报(自然科学版),2006,(4).
[14]郝建营,等. 一种有效的Web性能测试方法及其应用[A].
[15]李煜,苗放. LoadRunner在Web应用程序性能测试中的应用[A].
[16]杨喜纳,袁从领. 基于Java的Web应用程序的性能测试[J]. 大学时代, 2006,(4).
[17]赵小娟,文福安. 作业与考试系统的性能测试[J]. 计算机科学与技术, 2006,(1).
[18]粱晟,等. Web应用程序运行响应时间的试验研究[J]. 计算机研究与发展, 2003,40(7).
[19]王峰,等. 基于J2EE应用的数据库访问的性能优化[J]. 计算机工程, 2003,29(1).
随着Java EE 应用系统的功能日益强大,复杂度也越来越大,性能问题开始暴露出来。本文是基于Java EE应用系统讨论了性能测试的方法和工具,并指明了如何运用这些工具和测试方法进行测试,以及对测试结果进行分析,最后提出对Java EE系统进行性能优化的方法。
2、概要:
Java EE是一种利用Java平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。它为搭建具有可伸缩性、灵活性、易维护性的商务体统了良好的极致。 但是随着Java EE技术的不断发展成熟,性能问题开始暴露和突出。在目前大多数的应用开发过程中,
往往着重于实现系统的功能而忽略性能问题。据Gartner统计,只有大约14%的应用达到了所有预期的测量
和测试响应时间。据Newport Group估计,从一个性能问题发现开始到完全解决,平均需要的时间是25.8
小时。在预算压缩和期望不断增大的今天,性能问题的解决更显得尤为重要。一般来说,在Java EE中性
能包括两个方面:
(1)响应时间: 开发处处请求到完全获得响应消息的时间间隔,即从用户申请一个页面开始到完全
获得页面的时间(我们一般采用的是服务端的时间, 参考段练老师的书籍)。
(2)可扩展性: 指的是应用程序的响应时间随着负载增加线性增长,这样的应用程序可以通过线性
增加硬件资源,处理越来越多的请求,即对多个用户的请求可以快速响应。
3、Java EE 结构:
Java EE应用程序采用的是三层体系结构: 客户端、服务器端和企业信息系统(EIS)资源。客户端可以是在浏览器中运行的静态页面或Java小程序(Applet),也可以是在Java EE客户端容器中运行的Java EE客户端应用程序。在服务器端,运行在Web容器中的Servlet和JSP产生Web用户界面,而运行在EGB容器中的EJBS则封装应用程序的逻辑和数据操作。典型的Java EE应用程序一般采用关系数据库作为EIS层。
4、 性能测试方法简介:
性能测试的方法主要有以下几种:
(1)负载测试: 通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况
下,系统所能承受的最大负载量的测试。
(2)压力测试: 通过逐步增加系统负载,测试系统性能的变化,并最终确定 什么负载条件下系统性
能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。
(3)疲劳强度测试: 通常以稳定运行状态下能够支持的最大并发用户数或者日常运行用户数据为依
据,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作强度性
能的过程。
(4)大数据量测试: 大数据量测试重点在于数据量,包括独立的数据量测试和综合数据量测试。
独立的数据量测试针对某些系统存储、传输、统计、查询的呢个业务进行大数据量测试,而综合数据量测
试一般和压力性能测试、负载性能测试、疲劳性能测试相结合。
5、测试工具Load Runner介绍
LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。通过模拟上千万用户实施开发负
载及实时性能监测的方式来确认和查找问题, LoadRunner能够对整个Java EE系统的架构进行测试。通过
使用LoadRunner,能最大限度地缩短测试时间、优化性能和加速应用系统发布周期。
LoadRunner架构:
LoadRunner 主要由虚拟用户生成器(Virtual User Generator)、压力产生器(Player)、用户代
理(Agent)、控制器(Controller)、结果分析器(Analysis)5个部分组成。
(1)虚拟用户生成器(Virtual User Generator)是一种基于Windows的开发调试应用程序,通过
它可以开发、调试并运行Vuser脚本。虚拟用户生成器通过录制客户端和后台服务器之间的通讯包,分析
其中的协议,自动产生脚本。在测试环境中,LoadRunner会在物理计算机上用虚拟用户(即Vuser)代替
实际用户。Vuser通过可以重复、可预测的方式模拟典型用户的操作,在系统上创建负载。
(2)控制器(Controller)是整个性能测试的核心,实际上它是一个框架程序和监控程序,负责
将虚拟用户生成器开发的脚本以多进程/多线程的方式运行。通过它可以管理和维护场景,可以从一台工
作站控制一个场景中分布在负载生成器上的所有Vuser,并可以同时监视网络、服务器的等资源。
(3)结果分析器(Analysis)实际上是一个数据分析工具,测试完毕后,结果分析器收集汇总所
有的测试数据,进行高级分析和汇总,迅速查找到性能问题并追溯原因。通过它可以将一个或多个场景运
行的结果生成图和报告,可以将几个图合并成一个图,对多个图进行比较,在报告和图中直观地查看性能
数据。
使用Load Runner进行测试的步骤:
LoadRunner对基于Web的应用程序进行的过程分6个步骤: 规划测试、创建Vuser脚本、创建方案、运行方案、监视方案和分析测试结果。
(1)规划测试: 定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间。制定完整的测试计划、定义明确的测试计划将确保制定的方案能完成测试目标。
(2)创建Vuser脚本: 使用LoadRunner的虚拟用户生成器生成虚拟用户,它先记录业务流程(如用户注册),然后将其转化为测试脚本,以虚拟用户的方式模拟真实用户的业务操作行为。利用虚拟用户,可以模拟成千上万个用户访问。
(3)创建方案: 使用LoadRunner Controller设置负载测试环境、业务流程组合和虚拟用户数量。
(4)运行方案: 通过LoadRunner Controller驱动、管理和监控负载测试。
(5)监视方案: 在负载测试过程中,LoadRunner内含的监测器可以随时观察到应用系统的运行性能。这些性能监测器实时显示性能数据(如响应时间)和其它系统组建、包括应用服务器、Web服务器和数据库等的实时性能。这样可以在测试过程中从客户和服务器的双方面评估这些系统组件的运行性能。
(6)分析测试结果: 测试完毕,LoadRunner将收集汇总所有的测试数据,并提供高级的分析和报告工具,以便迅速查找到性能问题。
6、测试案例(略)
7、优化措施(略)
8、结束语
由于Java EE 应用程序本身的复杂性和特殊性, 使得影响Web性能的因素很多,要评估Java EE系统
性能及优化要从软硬件两方面下手找出性能瓶颈。从对应用系统的测试情况来看,LoadRunner具有快速、
可靠、稳定和可重复等特征,能够叫准确的评估Java EE应用系统的真实性能,可以迅速查找到性能问题
并追根溯源。通过使用Load Runner, 可以最大限度地缩短测试时间、优化性能和加速应用系统的分布周
期。
9、 参考文献
[1]锻念. 软件性能测试过程详解与案例剖析[M]. 北京:清华大学出版社,2006.
[2]Peter Zadrozny等著. J2EE性能测试. 张文耀等译,北京:电子工业出版社,2003.
[3]刘群策. LoadRunner和软件项目性能测试[M]. 北京:机械工业出版社,2008.
[4]彭彬,甘早斌,李志欣. 基于J2EE的Web应用系统的优化设计[J]. 计算机工程与科学,2005,27(10).
[5]覃桂敏,王力. J2EE应用开发过程中性能问题的研究[J]. 计算机工程,2004,30(12).
[6]JunitPerf. http://www.clarkware.com/software/JUnitPerf.html.
[7]叶新铭,冯晓利. 软件压力测试流程[J]. 内蒙古大学学报(自然科学版),2002,33(1).
[8]马琳,罗铁坚,等. Web系统性能测试及优化[J]. 计算机工程,2005,31(12).
[9]张友生. 基于Web的系统测试方法. 中国系统分析员, http://www.csai.cn/test/web.htm.
[10]http://httpunit.sourceforge.net/.
[11]http://openload.sourceforge.net/.
[12]姜昌华,朱敏,等. Web应用程序压力测试[J]. 计算机应用, 2003,23(10).
[13]吴藜岚. Web动态测试研究及其应用[J]. 贵州工业大学学报(自然科学版),2006,(4).
[14]郝建营,等. 一种有效的Web性能测试方法及其应用[A].
[15]李煜,苗放. LoadRunner在Web应用程序性能测试中的应用[A].
[16]杨喜纳,袁从领. 基于Java的Web应用程序的性能测试[J]. 大学时代, 2006,(4).
[17]赵小娟,文福安. 作业与考试系统的性能测试[J]. 计算机科学与技术, 2006,(1).
[18]粱晟,等. Web应用程序运行响应时间的试验研究[J]. 计算机研究与发展, 2003,40(7).
[19]王峰,等. 基于J2EE应用的数据库访问的性能优化[J]. 计算机工程, 2003,29(1).
发表评论
-
性能问题
2013-09-04 20:13 0<SERVICE CLASS=" ... -
nginx最佳配置
2013-07-23 09:16 0package com.apusic.portal.s ... -
手续材料
2012-03-25 22:40 0所发生大幅 <SERVICE CLASS ... -
小强作品之性能测试视频教程
2011-03-20 22:54 1260——————界面学习1———— .Virtual User G ... -
LR9.5新特征
2011-01-24 23:32 1474毕业设计时曾经做过有关性能测试的课题,在那期间接触过L ... -
性能计数器及性能分析方法
2010-08-02 19:55 1012性能计数器(Counter)通常被用来衡量被测系统当 ... -
性能测试工具原理
2010-08-02 19:54 1015一: 性能测试工具模型 广义地说, 性能 ... -
性能测试应用领域分析
2010-08-02 19:52 909概括来说, 我们 ... -
性能测试的方法
2010-08-02 19:52 1327大体上分如下一些种类: 性能测试、 负载测试 ... -
软件性能测试方法论
2010-08-02 19:50 1064一: SEI负载测试计划过程 SEI负载测试计 ... -
软件性能的几个主要术语
2010-08-02 19:49 9291、响应时间: ... -
什么是软件性能测试
2010-08-02 19:48 1060——————最近开始研究 软件性能测试 ——— ... -
Junit4入门
2010-07-18 21:42 9681、 配置环境 一般的eclipse都是自带Junit ... -
LoadRunner的安装和部署
2010-06-03 19:33 14051、 LoadRunner的的配置要求参照表——^_^ ... -
LoadRunner录制介绍
2010-06-03 19:28 1712我是根据其官方网 ... -
LoadRunner疑问集
2010-06-03 19:25 1093—将自己在使用LoadRunner 的过程中遇到的问 ... -
LoadRunner场景设置
2010-06-03 19:24 2199在学习LoadRunner场景设置之前理解一下Load ... -
LoadRunner监控配置
2010-06-03 19:21 1682首先是在Controller中添加监控器,如果加入了监 ... -
LoadRunner场景运行
2010-06-03 19:19 1246可以运行场景中的所有Vuser和Vuser组,也可以 ... -
LoadRunner结果分析
2010-06-03 19:16 3363LoadRunner结果分析 ...
相关推荐
标签“源码”和“工具”可能意味着这篇论文草稿涉及的是软件开发或者计算机科学领域,其中可能涵盖了编程语言、算法、软件工程实践、开发工具或者相关技术的分析和应用。同时,“工具”可能指的是用于辅助开发或分析...
7. **论文草稿或模板**:可能包含一篇已完成的软件论文,用于展示如何将这样的系统开发过程和成果转化为学术论文。 8. **参考文献**:可能列出了相关研究和引用的资料,供写论文时参考。 9. **答辩PPT**:展示如何...
研究方法包括定性分析(如案例研究)和定量分析(如性能测试),选择合适的方法能提升论文的说服力。 6. 时间管理:考试中,论文写作时间有限,因此合理的时间分配至关重要。考生需在短时间内完成构思、草稿、修改...
"毕业论文jsp2056邮件收发系统mysql.docx" 本文主要介绍了一个基于 ...功能测试是为了验证系统的功能是否正确,性能测试是为了验证系统的性能是否满足要求。系统的总结包括了系统的优点和缺点,以及系统的改进方向。
如果这是关于软件开发的论文,第四章可能涉及算法设计、编程实现、性能测试等方面;如果是关于数据分析,那么可能涵盖数据预处理、模型构建、预测结果等。由于没有具体的内容,我们只能根据通用的论文结构来推测其...
2. 论文提交:学生上传论文草稿,系统记录提交时间并进行版本管理。 3. 论文审核:导师查看论文,提供反馈和评分,系统自动跟踪审核状态。 4. 通知提醒:系统自动发送提醒邮件或消息,通知学生和导师关于论文进度的...
**指导教师角色:** 指导教师在整个过程中扮演关键角色,提供学术指导,帮助学生解决问题,审核论文草稿,并给出反馈。 **审定流程:** 任务书一旦审定,学生应严格按照计划进行。如有变更,需得到系/研究中心毕业...
这可能包含论文的草稿、最终版本、源代码、图表、数据、参考文献等,详细阐述了系统的开发过程、设计思路、技术实现和系统性能分析。论文部分可能会包括以下几个关键章节: 1. **引言**:介绍项目背景、目的和意义...
论文部分将详细阐述设计和实现的过程,包括需求分析、系统架构、设计决策、算法选择、性能优化等。此外,它还可能涵盖了系统测试、问题解决和未来改进的探讨。 源码部分则揭示了整个项目的内部运作,包括类结构、...
在【092118130228-徐鑫益-吕太之.doc】这个文件中,很可能是具体的毕业论文草稿或最终版本,涵盖了以上提到的一些或全部知识点。阅读这份文档,可以帮助理解作者如何将Java技术应用于实际项目,解决特定问题,以及...
标签 "matlab" 进一步确认了这个压缩包的内容与MATLAB紧密相关,可能包含MATLAB程序代码、数据文件、结果可视化以及论文草稿。 压缩包子文件 "SLAM-G2S-Fusion_master.zip" 提示我们研究可能涉及到SLAM...
【压缩包子文件的文件名称列表】仅有一个"a.txt",这可能是系统的设计文档、论文草稿或者是其他重要信息的文本文件。具体内容无法确定,但可以推测它包含了项目的关键信息,比如系统需求、功能模块、数据库设计、...
- **文档上传与下载**:学生提交论文草稿,导师提供反馈,所有文件安全存储。 - **答辩安排**:创建答辩日程,通知学生和评委。 - **成绩管理**:录入、审核、公示答辩成绩,生成成绩单。 3. **技术栈**:压缩包...
- 实验与测试:展示实验结果,验证系统的性能和稳定性。 - 结论:总结项目成果,指出可能存在的问题与改进方向。 5. **文档内容**: - “数字温度计 单片机 毕业论文参考只用.doc”可能是论文的完整文本,包括...
【压缩包子文件的文件名称列表】未给出具体信息,但可以推测其中可能包括源代码文件、设计文档、测试报告、论文草稿等。源代码文件可能分为JAVA和C++两个部分,分别对应游戏的主要逻辑和可能的性能关键模块。设计...
3. **功能分析**:系统的主要功能包括用户账户管理、邮件收发(支持附件和多种字体选择)、邮件文件夹管理(如收件箱、草稿箱、发件箱等)、邮件过滤(如垃圾邮件检测)、条件搜索、邮件代收代发等。 4. **业务流程...
压缩包中的文件名没有给出具体细节,但通常可能包含源代码、仿真脚本、实验结果、论文草稿或相关文档。例如,可能有一个名为"MIMO_detection.py"的Python脚本,用于实现不同的MIMO检测算法,并进行性能比较。还可能...
- **论文提交**:学生上传论文草稿,进行多次修改,最终提交完整版论文。 - **论文评审**:导师对提交的论文进行评分和评价,系统记录评审结果。 - **成绩管理**:统计和展示学生的论文成绩。 - **报表分析**:...