Topic: 关于JBOSS性能调优的问题(ThreadPool相关)

  Print this page

1.关于JBOSS性能调优的问题(ThreadPool相关) Copy to clipboard
Posted by: zeelong
Posted on: 2006-08-09 11:06

系统运行环境:
应用服务器:1G内存,P4 3.0
数据库服务器:Oracle9i RAC
应用程序架构:SLSB+Hibernate+Struts+JSP/Servlet,在获得Home对象是采用了缓存,EJB与WEB端之间采用了Façade/delegate,由Delegate类代理了所有WEB端对EJB端的访问
部署方式:Jboss3.2.7+Resin3.0.13

测试实例:
用HttpUnit模拟了200个并发访问系统的一个模块
整个操作过程有三步:登录-》组织数据-》审核,其中数据组织和审核均有存储过程完成,其中数据组织(不超过30S)和审核(不超过2分钟)事务较长,

若干配置参数:
Jboss
Connection Pool Max=200 Min=10
ThreadPool KeepAliveTime=60000 MinimumPoolSize=1 MaximumPoolSize=100 MaximumQueueSize=1000

Resin
Thread pool=128

在测试过程中发现登录在进行了150个左右,就停滞不前,怀疑在Resin处发生了堵塞;
通过打印出的耗时发现EJB实例负载一切正常(说明内存收集及对象池工作正常),数据库连接也获得正常,但JBOSS停滞不前(此时Thread约165左右),怀疑是TheadPool不够大;
因为业务逻辑采用了存储过程所以所有的运算、内存压力均在Oracle RAC端,RAC表现一切正常

我想请教各位的是,以上提到的各个参数之间有什么关系,例如WEB端的ThreadPool和JBOSS端的ThreadPool有何关系?对象池大小和ThreadPool有何关系?

2.Re:关于JBOSS性能调优的问题(ThreadPool相关) [Re: zeelong] Copy to clipboard
Posted by: spi_cn
Posted on: 2006-08-09 12:39

一般来说线程池的数量应该是估计最大并发数的125%,例如:如果想测试200的并发连接,则应该设置成250;

3.Re:关于JBOSS性能调优的问题(ThreadPool相关) [Re: zeelong] Copy to clipboard
Posted by: zeelong
Posted on: 2006-08-10 09:41

在我后来的测试中,如果每个并发之间有点延时,则不会出现这种情况。
另外在测试过程中发现JBOSS3.2.7线程池的峰值一般保持在164左右,如果每个并发连接之间有延时,则线程池的峰值可以达到200多。

4.Re:关于JBOSS性能调优的问题(ThreadPool相关) [Re: zeelong] Copy to clipboard
Posted by: 老肥羊
Posted on: 2008-03-01 13:51

resin没有用过
jboss的话可以配到300


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923