tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier>
Subject Re: MaxClients and maxThreads
Date Mon, 23 Sep 2013 07:00:56 GMT
Do not top-post. It makes it difficult to follow the conversation, who answers to what etc.

> From:   Daniel Mikusa <>
> To:     "Tomcat Users List" <>
> Date:   09/20/2013 07:10 PM
> Subject:        Re: MaxClients and maxThreads
> On Sep 20, 2013, at 9:27 AM, wrote:
>> Is this a hard limit ?
> No.
>> So if there are 4 cores there can only be 800 
>> concurrent clients. None of our banks is calculating this like this and 
>> some have Apache and JBoss on the same machine which further limits the 
>> threads.
>> Appreciate any help.
>> Hi,
>>        I am following the instructions in 
>> to tune MaxClients in 
>> httpd.conf and maxThreads in JBoss Tomcat. 
>> " The recommended value of maxThreads is 200 per CPU, so here we assume 
>> the server is a single core machine. If it had
>>  been quad core we could push that value to 800 or more depending on RAM 
>> and other machine specs. The total threads
>>  is an aggregate value. If Apache and JBOSS are on the same server, and 
>> that server has four cores, then you would halve
>>  the maxThreads and MaxClients to 400 each."
> Don't base your performance tuning on values you found in an article 
> online.  The author of this article has no idea what kind of hardware you 
> are running, what your application is doing or what your needs are for the 
> application.  By these metrics, I should setup 800 threads on a quad core 
> system, but if my application is only supporting 10 users that's way too 
> many.  Examine your needs, set the values you think will work and then 
> load test to see how things perform.  Adjust the settings further based on 
> your load testing results.
> wrote:
> Yes. I understand the need for capacity planning.

> It probably involves concurrency, think time analysis etc. I was wondering 
> if maxThreads and MaxClients are the same value. In a worker mpm 
> MaxClients is the Apache setting and maxThreads is the JBoss setting.

In your kind of configuration, MaxClients are maxThreads are related, but they are not the

same.  They may be the same if every request received by Apache httpd is always 
transmitted to Tomcat. But then what would be the point of having httpd in front ?

> Moreover how does a figure of 200 for a core justified.
> So you mean that the figure of 200 is not based on any analysis.

Exactly.  Not all requests are equal, and not all applications are equal.  And in 
processing a request, there is not only CPU time to take into account, there is memory, 
I/O etc.  So who, other than you, can tell how many of *your* requests one "core" can 
handle in any amount of time ?  It is ridiculous to provide such a number as if it was 
based on anything serious.

> Thanks.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message