声明:本文禁止未经本人同意的任何形式转载!如有转载需求,可与本人通过个人资料中的电子邮箱联系。对于未经同意的转载,本人将保留进一步行动的权利
Java的调优文档中很少建议确切的线程池大小的值。因为该值关系到应用的具体情况,比如简单和复杂类型的应用就不能混为一谈。
一个应用从内存中检索字符串并转发到JSP页面做展现。
另一个应用,从数据库中检索1000条记录,并计算平均值、方差。
第一个应用系统的响应速度较快,例如在0.25秒左右,也不需要耗费太多CPU的时间。第二个应用的响应时间大概在3秒左右,且对CPU敏感(即需要很多CPU的计算能力)。因此,在配置线程池时,给第一个应用配置100个线程就可能太低了,因为它能同时处理起码200个以上的并发请求;但100对第二个应用来说可能就太高了,因为CPU可能最大能承受50个并发线程。
但是,显示中大部分应用都是相似性很高的,所以可以考虑每个CPU配置50到75个线程。对于不同的应用,这个数字的适应性也不同,可根据对CPU监测的结果来做相应的调整。
线程池太大
除了可能将线程池配置得太小外,也有可能线程配置得太多了。在这种情况下,当系统负载增加时,CPU利用率持续保持很高,响应时间很长,因为CPU在不同的线程上下文之间切换工作上花费了太多的时间,而在执行工作方面的时间却显得有限了。
线程池太大的一个重要表现就是CPU利用率持续走高。很多情况下,CPU的利用率与垃圾收集有关,但垃圾收集造成的CPU利用率高与线程池过大造成的有一个重要的区别在于:垃圾收集造成CPU的陡升陡降,而线程池的过饱和状态则会造成CPU的持续偏高。
当这种情况发生时,减少线程池大小可能导致请求的等待,但是等待比在CPU饱和状态下的处理要好,因为饱和状态的CPU会表现出极差的性能。最好的情况是请求到来了,就在队列中等待一段时间,然后再利用较优化情况(非饱和状态下)的CPU进行处理。
解决线程池过大的问题,就需要降低线程池的大小直至在通常的负荷状态下,CPU的利用率在75%~85%之间。如果队列的大小不易于管理,则可以:
调整代码
添加新硬件
未完待续……
Java EE应用中的性能问题解决方案参考资料下载
声明:本文禁止未经本人同意的任何形式转载!如有转载需求,可与本人通过个人资料中的电子邮箱联系。对于未经同意的转载,本人将保留进一步行动的权利!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/BU_BetterYou/archive/2008/06/03/2506586.aspx
分享到:
相关推荐
《轻量级Java EE企业应用实战:Struts2+Spring4+Hibernate整合开发(第4版)》是《轻量级Java EE企业应用实战》的第4版,第4版保持了前几版内容全面、深入的特点,主要完成全部知识的升级。 《轻量级Java EE企业...
Java_EE中文乱码问题解决方案:如果你是从事java web开发,中文乱码是不是经常遇到,这里有详细的配置如果从MyEclipse(Eclipse),TOmcat中修改代码的格式,从而达到总体的编码一致,杜绝乱码
本书介绍了Java EE轻量级的三个开源框架:Struts2、Hibernate和Spring。其中在Struts2部分主要讲解MVC设计思想,Struts2的处理流程及配置,Struts2常用控制器组件,以及Struts2常用标签库的使用。在Hibernate部分...
在实际的Java EE平台中,使用SSH2(Struts 2 + Spring + Hibernate)框架整合开发是最流行的开发平台,这种开发平台也被称为轻量级Java EE企业应用平台。与经典的基于EJB核心的Java EE应用相比,基于SSH2的轻量级...
轻量级Java EE企业应用实战第三版第二章源码
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part1...第二部分详细讲解了JSF RI、EJB 3的Session Bean等Java EE知识;第三部分提供了一个JSF+EJB 3+ JPA整合开发的项目:电子拍卖系统。
Java EE企业级应用开发教程(SSM)源码.zip
《轻量级java ee企业应用实战(第3版)—struts 2+spring 3+hibernate整合开发》是《轻量级java ee企业应用实战》的第3版,第3版保持了第2版内容全面、深入的特点,主要完成全部知识的升级。 《轻量级java ee企业...
本书是《轻量级Java EE企业应用实战》的姊妹篇,《轻量级Java EE企业应用实战》主要介绍以Spring+Hibernate为基础的Java EE应用;本书则主要介绍以EJB 3+JPA为基础的Java EE应用。EJB 3、JPA规范都属于Sun公司所制订...
《轻量级Java EE企业应用实战:Struts2+Spring3+Hibernate整合开发(第3版)》是《轻量级Java EE企业应用实战》的第3版,第3版保持了第2版内容全面、深入的特点,主要完成全部知识的升级。 《轻量级Java EE企业...
看我的博文,确认是否是亲爱的你需要的源码资源呦! 是红色的书本外皮。
java EE 7 & HTML5 应用开发——构建和部署同时支持桌面和移动设备的动态高性能企业级应用.rar
《轻量级java ee企业应用实战(第3版)—struts 2+spring 3+hibernate整合开发》是《轻量级java ee企业应用实战》的第3版,第3版保持了第2版内容全面、深入的特点,主要完成全部知识的升级。 《轻量级java ee企业...
精通Java EE:精通Java EE 整合应用案例\源代码\源代码2-9章.
第1讲Java EE 应用和开发环境,适合大学自学的好文章,欢迎前来下载
第二部分详细讲解了jsf ri、jta、jndi、rmi、jms、javamail、ejb 3的session bean、message driven bean、jpa、jax-ws 2、jaas等java ee知识,这部分知识以jsf+ejb 3+jpa整合开发为重点,通过使用netbeans ide工具...
精通Java EE:精通Java EE 整合应用案例\源代码第五章
学习Java EE更要分析底层原理
精通Java EE:精通Java EE 整合应用案例\源代码第二章
10个影响Java EE性能的常见问题 达内java培训的老师感觉不错,分享给大家