- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
J2EE的应用服务器性能优化的方法的研究
J2EE的应用服务器性能优化的方法的研究
摘要:由于J2EE应用服务器己在企业级应用中有重要的地位,对于J2EE应用服务器性能的研究也日益受到重视。本文分析了影响J2EE应用服务器性能的关键因素,重点研究了应用服务器资源优化方法。
关键词:J2EE;应用服务器;优化方法
1 引言
J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。不同的J2EE应用服务器都有对应的具体的参数可供调整,一些J2EE应用服务器的供应商都提供一些应用指南,然而关于应用服务器资源如何优化的相关研究则很少。
2 影响J2EE应用服务器性能的关键因素
J2EE应用服务器是多模块、多线程、分布式的程序,因此影响性能的因素是多方面的,而且各因素间是相互影响,综合关联的。
2.1 Java虚拟机堆设置
任何Java应用的性能调整基础都涉及到堆的大小和垃圾回收设置。堆可分为三代,年轻的(新的)、年老的和持久的。当配置最大堆大小时可参考下面一些指导:最大大小应小于物理内存,避免虚存的页面调度。在负载测试时进行优化,需要减去其他进程使用的内存。注意不要将最大堆大小设置得过大。堆越大,内存中保存的对象越多。内存中对象越多,回收过程时间越长。配置初始堆大小的一般性策略包括:将初始大小设置为最大堆大小的1/4到1/2,对于年轻一代堆大小,Sun推荐是设置为最大堆大小的1/3。
2.2 处理线程池大小
由于应用服务器能够同时为多个并发的用户请求提供服务,而创建线程又是一项昂贵的操作,所以应用服务器必须通过一个线程池来处理各种请求。一些应用服务器把这个线程池一分为二:其中一个用来处理进入的请求,把请求放入队列;另一个从队列获取线程,然后执行调用者要求执行的处理任务。不管具体的实现方式是哪一种,线程池的大小限制了应用服务器的工作量,所以必须找出一个最佳的平衡点-如果超越这个平衡点,则线程的上下文切换(将CPU依次分配给各个线程)将产生大量开销,从而影响性能。很多应用服务器允许为特定的任务或应用配置不同大小的线程池。通常需要增加这些线程池的大小以满足应用负载的需要。线程池的设置不能过小,也不能过大,这是因为设置过大会增加上下文交换的次数,从而降低应用的性能。线程池的大小通常应该能最大利用机器上的CPU,同时又不能使CPU过载。
2.3 数据库连接配置
对于数据库连接,所有的应用服务器都提供缓冲池机制。在应用程序中创建数据库连接是一项开销很大的操作,通常要耗费0.5到2秒的时间。因此应用服务器缓冲了数据库连接,使得不同的应用程序、同一应用程序内的多个线程能够共享一组数据库连接,避免每次需要数据库连接时都从头开始创建连接。通过连接池使用数据库连接的一般的过程为:当某个线程需要访问数据库时,它向数据库连接池请求一个连接,然后用连接池返回的连接执行数据库操作(例如SELECT或UPDATE,DELETE命令),操作结束后再把数据库连接对象返回给连接池,以便其他组件使用该连接。
3 J2EE应用服务器性能评测标准
性能测试的原理主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。通过模拟上千万用户的实施并发负载及实时性能监测的方式来确认和查找问题。
性能标准依赖于所测试的应用程序类型。基于J2EE平台的应用程序一般分为两个基本类别:交互式的应用程序和批处理或后端应用程序。
3.1 对于交互式应用程序,即终端用户与应用程序同步交互,性能一般是通过大小和规划问题的容量来定义,性能评测标准可以是一个最大可接受的响应时间,这就是在得到应用程序响应之前客户愿意等待的最大时间数量。
3.2 对于批处理或后端应用程序,即不需要直接与终端用户交互,性能评测标准是每秒事务处理最小可接受的吞吐量。事务处理在具体的场合定义可能有所不同。比如对于Servlet,事务处理可能为一个请求;而对JMS,吞吐量可能就是消息。性能标准的定义分别如下:
响应时间RT ( Response Time):客户端从发送请求的那一刻起到收到应用程序响应的最后一个字节时而不得不等待的时间长度。
平均响应时间ART(Average Response Time):某个特定请求所有用户响应时间的算术平均。
最大平均响应时间MART ( Maximum Average Response Time ):一个测试脚本中所有单独的平均响应时间中最高的值。
吞吐量:每秒处理的事务数量(Transactions Per Second, RPS )。
拒绝率(Reject Rate ):为了保
原创力文档


文档评论(0)