I am running Tomcat 6 on a group of Linux servers behind a loadbalancer. This 
setup was working fine when I ran Tomcat as root. However, when I moved to 
jsvc, the production servers started to become unavailable within a couple of 
hours, serving thousands of requests. I had to restart them to be online again, 
only to get into the same issue in a couple of hours. When switched back to run 
as root, things were fine again. I could find no errors in any logs.

I found that jsvc uses client JVM (the servers are server-class VMWare servers) 
by default. I am suspecting when I ran as root (startup.sh), Tomcat used server 
JVM that gave better performance, while jsvc performed worse with client JVM, 
causing my maxThreads (150) to exhaust, acceptCount (100) to fill up and making 
tomcat to deny requests. I am guessing if I make jsvc to use server JVM, my 
problem will go away. I appreciate if someone can validate this theory or offer 
other clues before I try this in production. Of course, I shall also try a 
stress test case.

Thanks,
BV Prasad


      

Reply via email to