当达到maxThreads限制时,JBOSS挂起

use*_*369 2 jboss struts jvm jboss5.x server.xml

我有一个在JBOSS AS 5.1中运行的Struts 1.3应用程序.我们在HTTP连接器的server.xml文件中设置了2000个HTTP线程,并在run.conf文件中将JVM堆中约2GB的RAM分配给JBOSS.系统总共有4GB RAM,剩下的RAM正在被其他应用程序使用.

每当我的系统遇到超过2000个并发请求时,Jboss就会挂起并停止工作.我没有在控制台上获得异常或任何类型的内存不足错误,它只是挂起.

我该如何解决这个问题?我应该把mod_cluster或东西放在JBOSS面前吗?或者我应该只为连接器分配更多线程,如果是这样,我如何计算HTTP连接器上内存和maxThreads之间使用的比率?

sou*_*ser 5

2000年是一个非常高的数字.如果您确实需要它来处理2000个并发请求,则需要设置多个实例并在实例之间均匀分配负载.您可以在jboss前面设置负载均衡器或apache + mod_jk.

使用多少内存取决于应用程序.要使用的实例数取决于实例在负载下的执行情况以及是否可以获得所需的响应时间.