Hi all, I'd like to get some help about my current architecture. The current scenario uses mod_jk to connect Apache httpd and Tomcat6. I have two Tomcat instances (using DeltaManager for session replication and sticky session enabled) in order to provide high availability and balance load across instances. Currently Tomcat manages 28 webapps and 7 of them are only web services. Generally speaking, a webapp usually involves JSF or Struts while a web services war involves JAX-WS. Both types of application have a common stack implemented with Spring and Hibernate. As a result, each application produces a war of around 40-50 MB.
I'd like to ask you several questions to provide better performance: * Which approach would be appropriate for this scenario? All wars in one cluster? Maybe move web services to other cluster? * In order to improve deployments, which technique can I use to minimize war size? Will be the cause of memory issues? I have tried to put some common jars (spring, apache-commons and so on) in Tomcat lib but I don't know if there is a better approach by other means. I read as much as I can but I'm stuck trying to find the best tools to monitor the system and tackle memory issues (such as the dreaded PermGen). I think it's a quite common scenario for a relatively small production environment but I don't find the best configuration that suits this type of deployment. Any help would be much appreciated. Thanks very much in advance Cheers