Optimisation des performances Liferay – Guide complet

 Si votre portail Liferay est lent, consomme trop de mémoire ou met du temps à charger les pages, ce guide vous aidera à optimiser les performances étape par étape.

Dans cet article, vous apprendrez :

  • Le tuning JVM

  • L’optimisation base de données

  • La configuration du cache

  • L’optimisation en cluster

  • Une checklist production


📌 Qu’est-ce que Liferay ?

Liferay est une plateforme DXP (Digital Experience Platform) utilisée pour :

  • Portails d’entreprise

  • Plateformes gouvernementales

  • Intégrations BPM

  • Applications CMS

Sa puissance et sa modularité nécessitent une configuration optimale en production.


🔥 1️⃣ Optimisation JVM

Liferay fonctionne sur la JVM. La configuration mémoire est essentielle.

Paramètres recommandés :

-Xms4g -Xmx4g -XX:MaxMetaspaceSize=1024m -XX:+UseG1GC -XX:MaxGCPauseMillis=200

Pourquoi ?

  • Xms = Xmx évite le redimensionnement du heap

  • G1GC améliore la gestion du garbage collection

  • Metaspace évite les problèmes liés aux classloaders


📷 Surveillance mémoire JVM

Outils recommandés :

  • JVisualVM

  • JConsole

  • Prometheus + Grafana


⚡ 2️⃣ Optimisation Base de Données

Liferay est fortement dépendant de la base de données.

Bonnes pratiques :

✔ Utiliser PostgreSQL ou MySQL en production
✔ Activer le pool de connexions
✔ Optimiser les index
✔ Augmenter le nombre de connexions

Exemple (portal-ext.properties) :

jdbc.default.maxActive=100 jdbc.default.maxIdle=20

🚀 3️⃣ Configuration du Cache

Liferay utilise Ehcache par défaut.

Améliorations :

  • Augmenter la taille du cache entité

  • Optimiser le finder cache

  • Activer le cache multi-VM en cluster

Configuration :

ehcache.multi.vm.config.location=/ehcache/liferay-multi-vm.xml

📷 Architecture du cache Liferay


🌍 4️⃣ Configuration Cluster (Production)

Pour la haute disponibilité :

✔ Plusieurs nœuds Liferay
✔ Base de données partagée
✔ Sessions sticky ou Redis
✔ Load balancer (Nginx / HAProxy)

Architecture type :

  • Load Balancer

  • 2–3 nœuds Liferay

  • Base partagée

  • Stockage partagé (S3/NFS)


⚙️ 5️⃣ Désactiver les modules inutiles

Les modules inutilisés consomment CPU et mémoire.

Chemin :

Panneau de configuration → Applications → Gérer les applications

Désactiver :

  • Modules marketplace inutilisés

  • Fonctionnalités démo

  • Connecteurs non utilisés


📊 6️⃣ Optimisation Elasticsearch

Si vous utilisez Elasticsearch :

✔ Augmenter le heap
✔ Ajuster le nombre de shards
✔ Lancer la réindexation hors heures de pointe


📷 Liferay + Elasticsearch


🧪 7️⃣ Optimisation Tomcat

Modifier server.xml :

maxThreads="300" acceptCount="100" connectionTimeout="20000"

Cela améliore la gestion des utilisateurs simultanés.


📋 Checklist Performance Production

✔ Heap JVM correctement configuré
✔ Base indexée
✔ Cache optimisé
✔ Elasticsearch configuré
✔ Cluster activé
✔ Modules inutiles supprimés


🎯 Conclusion

L’optimisation des performances Liferay nécessite une approche multi-niveaux :

  • JVM

  • Base de données

  • Cache

  • Recherche

  • Cluster

  • Modules applicatifs

Une bonne configuration peut améliorer les performances de 40 à 60 % en production.


💼 Support professionnel disponible

Si vous rencontrez des problèmes sur des projets réels liés au développement backend d’entreprise ou à l’automatisation des workflows, je propose des services de conseil payants, de débogage en production, de support projet et de formations ciblées.

Les technologies couvertes incluent Java, Spring Boot, PL/SQL, Azure, CMS, ainsi que l’automatisation des workflows (jBPM, Camunda BPM, RHPAM).

📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com

🌐 Website: IT Trainings | Digital lectern | Digital rostrum | Digital metal podium     


Comments

Popular posts from this blog

Scopes of Signal in jBPM

OOPs Concepts in Java | English | Object Oriented Programming Explained

jBPM Installation Guide: Step by Step Setup