I am in the process of designing a high availability system using Apache
. 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]
[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.