I need to increase the performance of a Liferay 6.2 portal running in a vm with 6GB ram. Increasing the Xmx and Xms above 3GB does not help.
So I stumbled upon this here paragraph from the Liferay User-Guide:
Note that there is a law of diminishing returns on memory, especially with 64 bit systems. These systems allow you to create very large JVMs, but the larger the JVM, the more time it takes for garbage collection to take place. For this reason, you probably won’t want to create JVMs of more than 2 GB in size. To take advantage of higher amounts of memory on a single system, run multiple JVMs of Liferay instead.
Now, how would I run multiple JVMs of Liferay? I mean I could easily run two tomcats on differents ports (like 8080 and 8082), but I guess those two instances would have to be linked somehow?
Scenario:
- Liferay 6.2 EE
- Tomcat 7
- Very limited amount of concurrent users (5 max.)
- One site, with one page and one custom portlet (+ LR login portlet) running on it
- Very limited amount of data (last dump of my portlet's tables was 30MB)
- No ext, no hook. Simple JSF portlet which does nothing but crud operations.
- Oracle 11g database (running on the same machine for now)
(I know this is not the scenario for a portal, but the client wants it and is rather resistant to advice)
Loading the page takes up to 45 seconds before the user can log in. I can't give you the specs of the vm (Hyper-V running CentOS), but it won't be something amazing (read low budget).
Thanks, ~fabi