Ouch! Thats a LOT of threads - I can't believe your box still performs well with this many threads - or have you enabled keep-alives?

The number of threads really depends on your application. I have max threads set to 750, or our 32bit 2.6 Linux systems. Our thread count normally doesn't go over 200. When the servers need to wait for the backend, and the requests start to queue (heading towards 1000) - you will end up with a huge problem anyway, as it is probably unlikely that your backend servers/ database, etc, will be able to catch up with the requests, but as I said, that depends how and what your application does.

Andrew

J. Ryan Earl wrote:

As a reference, in conf/server.xml I set my thread limit to 10000 max threads, 1000 max idle threads, and 100 on startup. I've seen my as many as 7K threads busy within my application. This is on a 32bit 2.6 Linux kernel with 2GB of RAM (-Xmx1500m). On the 2.4 kernel I found practical limitations in how many "threads" the kernel could multiplex between, saw frequent system hangs under high load where the whole server would become unusable.

On either linux kernel, you probably want to increase your maximum number of file descriptors in /etc/security/limits.conf for your Tomcat user account(s). 16K nofile as default works great for me.

How much more memory you need really depends on your application. 500 threads isn't that much memory overhead, but if each thread goes off and creates a bunch of objects while it's working you'll need to assure heapspace is available accordingly. The short answer is: try it out, play with it. 500 threads isn't a whole lot.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to