Disabling AJP by default makes a lot of sense. Users that are
interested will seek it out.
I think 25 threads per core as a default makes sense as a good
starting point. Assuming most people would run a 4-way for
"production" a default in the thread pool like 100 is a good
starting point.
I'm taking a stab at the core pool size which I think should 25 with
a max of 100.
On Oct 17, 2007, at 11:03 AM, Jarek Gawor wrote:
Any more thoughts on this, especially on the current thread pool
behavior?
Jarek
On 10/9/07, Jarek Gawor <[EMAIL PROTECTED]> wrote:
On 10/9/07, Kevan Miller <[EMAIL PROTECTED]> wrote:
Jarek,
Thanks for tracking this down.
50 threads per connector seems like overkill to me. It's
dependent on
application behavior. So, hard to predict... But I would consider
lowering the per connector thread count. I won't argue with
increasing the thread pool size, however...
I also think these WARN messages are a bit less useful than they
ought to be...
What number should we lower it to? 25? 30? Maybe we should consider
also having the AJP connector be disabled by default? It consumes
lots
of threads but probably is not used most of the time.
Another thing I noticed that in ThreadPool.java the
ThreadPoolExecutor
is configured with the same corePoolSize and maximumPoolSize. Which
means (if I'm reading the documentation right) that everytime you
submit a task to execute a new thread will be created until
maximumPoolSize threads are created. Also, setting corePoolSize ==
maximumPoolSize means that the idle threads will not be reclaimed. So
basically, we are not reusing threads until we have maximumPoolSize
threads running and we will never reclaim any idle threads. This
seems
pretty bad to me especially since our pool is now set to 500.
Jarek