tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alan Chaney <>
Subject Re: MaxThreads <-> max. users ?
Date Wed, 30 Apr 2008 15:34:58 GMT
Like most things in complex network apps there is no simple answer.

MaxThreads refers to the number of simultaneous open HTTP network 
connections there can be. A connection is opened to enable the HTTP 
request response cycle (request from browser -> server, response from 
server-> browsers). This does not exactly translate into users because 
depending upon the page it is possible for the browser to make multiple 
simultaneous requests (images, text, javascript, css etc) for the same 
browser page.

'Sessions' in web server parlance refers to the ability whereby the 
server can track the state of a 'user conversation' which may spread 
across many pages. The identification of the user must be saved 
throughout this session if there are authentication issues involved - 
private pages, secure forms etc.

There is no direct relationship between the number of sessions and the 
number of active, open connections.

When estimating the capacity of a server you must work out the average 
page response time and then that will give you the number of users/hour.

The only real way that you can really determine the performance of a 
server is to measure it - there are simply too many interacations at a 
system level to make sense of any simple calculations.

A server set to handle 200 max connections with a response time of 200ms
can probably handle around about 1000 connections a second.

Factors to consider:

1. what kind of application? Simple file access or complex database?
2. the need for failover (clustering etc)
3. what kind of user interaction? (forms, simple page browsing?)

It should be noted that client interactions using 'ajax' techniques 
where the browser reconnects mid-page can actually cause a significant 
increase in server traffic. Once again, the only way to know is to 


Alan Chaney

Stephanie Wullbieter wrote:
> Hello,
> on 
> is for parameter MaxThreads written:
> "The maximum number of request processing threads to be created by this Connector, which
therefore determines the maximum number of simultaneous requests that can be handled. If not
specified, this attribute is set to 200."
> Could You please tell me what exact a "request" is?
> Does it mean that when I have e.g. MaxThreads=20, 100 users can use my webapp if only
20 of them at the same time request data from the webapp and the others drink coffee?
> Is it the same when i have session based sso login?
> Thank You kindly

To start a new topic, e-mail:
To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message