I am in the process of designing a high availability system using
Apache ,
Tomcat and
MySQL. Of course the OS is Linux
There will be one Apache server serviced by two Tomcat servers. MySQl will be installed on each Tomcat server with replication enabled. This is a production system to which almost 1000 users will be connecting simultaneously.
This would mean the http request will be with processed by
[Browser] ---> [Apache] -----------> [Tomcat1+MySQL1]
or
[Browser] ---> [Apache] -----------> [Tomcat2+MySQL2]
I am not sure what kind of server configuration I should have for these servers. Should the server have single CPU or multiple CPUs ? How much of an advantage does having multiple CPU server offer to the web server as compared to one with a single CPU.
How much RAM and Hard Disk should they have. Does anyone know how much memory is consumed by Apache-Tomcat in order to maintain a http session.
I have been able to find some documentation regarding this but it comprehensive enough. There is quite a bit of generalization and most give a general purpose server setup.
Also for the memory requirements people suggest using 'ps' to find the utilization by a httpd/tomcat process and proportionally calculate the total memory requirement.
Thanks