FreeRoller eating threads.
FreeRoller keeps on running out of threads to process incoming requests. This could be a problem in Roller, but I suspect that we may have run up against this bug in the Tomcat 4.0.X HTTP connector:
BUG5735: HTTP connector running out of processors under heavy load
The bug is marked as fixed, but I think that means the fix is in the new Tomcat 4.1.X Coyote HTTP connections.
Next time this happens, I'll try Glen Nielson's advice (from the bug report):I would recommend that you dump the stack for all running threads when you experience this problem. This can help identify what is causing the problem. By reviewing the stack dump for each thread you can determine whether the problem is due to Tomcat or your application. On unix you do a kill -QUIT {tomcat java pid) to cause the thread stack's to be dumped to catalina .out. A Processor for Tomcat runs your application code, delays in your code can cause additional processor threads to be created to handle new requests. Possible application or configuration problems which can delay requests: Connection delays due to networked services such as a db. Connection delays due to running out of pooled resources. Thread synchronization deadlocks. A cascading affect where many new processors get created due to excessively long JVM Garbage Collections. start java with -verbose:gc to detect this.
Dave Johnson
in Roller
• 🕒 06:42AM Mar 11, 2003
Tags:
Roller
Posted by Anonymous on March 11, 2003 at 03:22 PM EST #