java - Apache 和 JBOSS 使用 AJP (mod_jk) 导致线程数激增

标签 java multithreading apache jboss ajp

我们使用 Apache 和 JBOSS 来托管我们的应用程序,但我们发现了一些与 mod_jk 线程处理相关的问题。

我们的网站属于低流量网站,在我们网站的高峰 Activity 时间最多有 200-300 个并发用户。随着流量的增长(不是根据并发用户数,而是根据到达我们服务器的累积请求数),服务器停止服务请求很长时间,虽然它没有崩溃但直到 20 分钟才能服务请求。 JBOSS 服务器控制台显示两台服务器上有 350 个线程忙碌,尽管有足够的可用内存,比如超过 1-1.5 GB(使用了 2 台用于 JBOSS 的服务器,它们是 64 位,为 JBOSS 分配了 4 GB RAM)

为了检查问题,我们使用了 JBOSS 和 Apache Web 控制台,我们看到线程在 S 状态下显示长达几分钟,尽管我们的页面需要大约 4-5 秒才能提供服务。

我们进行了线程转储,发现线程大部分处于 WAITING 状态,这意味着它们正在无限期地等待。这些线程不是我们的应用程序类,而是 AJP 8009 端口。

有人可以帮我解决这个问题吗,因为其他人也可能遇到这个问题并以某种方式解决了它。如果需要更多信息,请告诉我。

另外,mod_proxy 是否比使用 mod_jk 更好,或者 mod_proxy 存在一些其他问题,如果我切换到 mod__proxy,这对我来说可能是致命的?

我使用的版本如下:

Apache 2.0.52
JBOSS: 4.2.2
MOD_JK: 1.2.20
JDK: 1.6
Operating System: RHEL 4

感谢您的帮助。

伙计们!!!!我们终于找到了上述配置的解决方法。它是 APR 的使用,并在此处提到:http://community.jboss.org/thread/153737 .许多人在下面的答案中正确提到了它的问题,即连接器问题。早些时候,我们通过配置 hibernate 和增加响应时间做出了临时解决方法。完整修复是 APR。

最佳答案

我们遇到了类似的问题。我们仍在研究解决方案,但看起来可以在这里找到很多答案:

http://www.jboss.org/community/wiki/OptimalModjk12Configuration

祝你好运!

关于java - Apache 和 JBOSS 使用 AJP (mod_jk) 导致线程数激增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1846034/

相关文章:

java - 为什么Threadpool中的任务不按照FIFO执行,Java

python - 如何通过登录 Apache 来调试 Django?

apache - 如何更改 Apache tomcat 服务器的主机名?

java - 我正在使用 OC4J 10.1.3.5.0,但有一个异常(exception)

java - LinkedList<class> 与 2 个以上合并

java - 为什么我的 getIndex 方法不起作用?

c++ - wxHTTP 和线程

java - 在java中使用线程绘制面板

php - 从 Apache 迁移后 IIS7 上出现链接错误

java - 从 Main 调用私有(private)类(class)。均在公开课