[jboss-user] [Installation, Configuration & Deployment] - MaxThread issue with Apache mod_proxy

gdriggs do-not-reply at jboss.com
Thu Aug 24 15:22:56 EDT 2006


Hi folks,

Pardon my verbosity but I want to include as much info as possible...

We're a mid-size software company and we've recently launched a web forum using JForum and JBoss -- we hadn't known about JBoss's own forum that's part of JBoss Portal(?) or we might have considered it first. Anyhow, after issuing a press release yesterday, our fora were swamped with traffic and at 3am went offline. Here's what I'm seeing in the logs earlier in the day but nothing of the sort when it finally went offline in the middle of the night...

12:48:16,806 ERROR [ThreadPool] All threads (250) are currently busy, waiting. Increase maxThreads (250) or check the servlet status
12:49:24,829 WARN  [MsgContext] Error sending end packet
java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at org.apache.jk.common.ChannelSocket.send(ChannelSocket.java:518)
        at org.apache.jk.common.JkInputStream.endMessage(JkInputStream.java:112)
        at org.apache.jk.core.MsgContext.action(MsgContext.java:293)
        at org.apache.coyote.Response.action(Response.java:182)
        at org.apache.coyote.Response.finish(Response.java:304)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:204)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
12:49:24,830 WARN  [ChannelSocket] processCallbacks status 2
12:50:49,812 WARN  [MsgContext] Error sending end packet

We're using Apache 2.2.2 with mod_proxy and the following settings:

ProxyTimeout 10
 <Proxy balancer://cluster>
  BalancerMember ajp://app2.example.com:8009
 
 <Location /jforum>
   ProxyPass balancer://cluster/jforum
 

I've found the likely place to change the thread count in jboss.web in the jk-8009 ThreadPool but I want to know if my Apache settings are causing problems as well. I started out with a 60 second time out and lowering has helped considerably but it only manages to postpone our crashes. Until we upgrade in a few weeks, we're running all pieces on RedHat Enterprise Linux 2.1 with a 2.4.9-e.59custom kernel.

I've been monitoring the web server and noticed that after dropping the ProxyTimeout value, the number of connections in a wait state have dropped considerably so it seems to be helping (the following output is snipped):

$ netstat -a|grep 8009
tcp        0      0 forums.example.com:41174   app2.extensis.com:8009  ESTABLISHED 
tcp        0      0 forums.example.com:41180   app2.example.com:8009  ESTABLISHED 
tcp        0      0 forums.example.com:41163   app2.example.com:8009  ESTABLISHED 
tcp        0      0 forums.example.com:41205   app2.example.com:8009  TIME_WAIT   
tcp        0      0 forums.example.com:41204   app2.example.com:8009  ESTABLISHED 
tcp        0      0 forums.example.com:41207   app2.example.com:8009  TIME_WAIT   
tcp        0      0 forums.example.com:41206   app2.example.com:8009  ESTABLISHED 

Any help would be most appreciated.

-Gary

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3967317#3967317

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3967317



More information about the jboss-user mailing list