Get it on Google Play

Tunning Liferay, mejorando el rendimiento del portal

23-10-2014
 

tunningLiferay

A la hora de poner en producción un portal Liferay debemos asegurarnos que su configuración es óptima para que de el mejor rendimiento. Liferay en su configuración ‘out-of-the-box’ tiene un rendimiento muy malo. Para conseguir un rendimiento óptimo deberemos:

Configuración de la memoria

Hay que asignar la memoria de manera que el JVM(Java Virtual Machine) no genere ‘disc swapping'(Que no escriba en disco por falta de memoria RAM). Es aconsejable que los parámetros ‘Xmx’ y ‘Xms’ sean iguales y que nunca superen los 2048m(Por motivos problemas con el GC(Garbage collector)).

El parámetro ‘MaxPermSize’ configura el tamaño del espacio de memoria destinado al recolector de basura, debe ser lo bastante grande como para que el GC no se esté ejecutando continuamente y lo bastante pequeño como para que el GC no bloquee durante mucho tiempo el thread.

Para un servidor dedicado con 8Gb. de RAM una buena configuración seria(Esto se configura en los paramentros de la JVM):

-Xms2048m -Xmx2048m -XX:MaxPermSize=512m

Garbage Collector(GC)

Los parámetros del GC a configurar son:

NewSize, MaxNewSize: The initial size and the maximum size of the New or Young Generation.

+UseParNewGC: Para que el GC se ejecute en paralelo. Solo con múltiples CPUs.

+UseConcMarkSweepGC: Usa el algoritmo “Mark-Sweep” del GC

+CMSParallelRemarkEnabled: For the CMS GC, enables the garbage collector to use multiple threads during the CMS remark phase. This decreases the pauses during this phase.

SurvivorRatio: Controls the size of the two survivor spaces. It’s a ratio between the survivor space size and Eden. The default is 25. There’s not much bang for the buck here, but it may need to be adjusted.

ParallelGCThreads: El número de threads para el GC. Deberia ser igual al número de procesadores.

Por ejemplo:

-XX:NewSize=700m -XX:MaxNewSize=700m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=20
-XX:ParallelGCThreads=8

Propiedades del portal-ext.properties

Propiedades orientadas ha hacer mas rápido servir CSS y Javascript:

last.modified.check=false
theme.css.fast.load=true
javascript.fast.load=true

Propiedades orientadas a deshabilitar filtros para funcionalidades que no utilizamos(Hay mas, es recomendable echarle un vistazo al portal.properties que tiene Liferay por defecto)

com.liferay.portal.servlet.filters.autologin.AutoLoginFilter=false 
com.liferay.portal.servlet.filters.sso.cas.CASFilter=false 
com.liferay.portal.servlet.filters.monitoring.MonitoringFilter=false 
com.liferay.portal.servlet.filters.sso.ntlm.NtlmFilter=false 
com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter=false 
com.liferay.portal.servlet.filters.sso.opensso.OpenSSOFilter=false 
com.liferay.portal.sharepoint.SharepointFilter=false 

Interesado en formación Liferay?

 

Leave a Reply

© Albert Coronado Calzada