yogesh hingmire wrote:
While planning / designing to build a web app that must scale to 2000
concurrent users, distributed across 5 Tomcat nodes in a cluster, Apache at
the front of course and the ability to serve 20 concurrent requests per
seconds during business hours, with a page response time of 5 seconds, how
would we go about the ask ? What Apache / Tomcat / System (CPU/JVM)
parameters should be considered for this design ?


I will provide the ABC, and leave the details for someone else.
You have 20 requests arriving per second, and it takes 5 seconds to process one request and return the response.
So, over time, it will look like this

Time   new requests   requests in-process  requests terminated

0        20              20                      0
+1s      20              40                      0
+2s      20              60                      0
+3s      20              80                      0
+4s      20             100                      0
+5s      20             100                     20
+6s      20             100                     40
+7s      20             100                     60
etc...

So, in principle, and assuming nothing else is going on, you need 100 concurrent threads in Tomcat to process these requests.
(I would take a healthy margin of security and double that).
Whether for that you need a cluster of Tomcats is another discussion.
And how much memory you need to allocate to your Tomcat(s) JVM(s) is a function of what your webapp needs, to process one request.

The numer of concurrent users should be relatively irrelevant, if all you mean by that is that some of these requests come from the same user, but they are otherwise independent of one another.

Note that I have a suspicion that what you describe as "requests" above probably only count the requests to your webapp code, and do not count the additional requests for stylesheets, images, etc.. which may be embedded in any page that the user's browser eventually displays. So unless you plan on serving those directly from the Apache httpd front-end, you should take them into account too.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to