Stratégie de nettoyage de l’historique Camunda 7 – Garder la production rapide et stable
Introduction
Dans les systèmes en production utilisant Camunda 7, l’un des problèmes de performance les plus fréquents mais souvent ignorés est la croissance incontrôlée des données d’historique.
Symptômes courants
Cockpit et Tasklist de plus en plus lents
Charge CPU base de données en hausse continue
Requêtes sur les tables
ACT_HI_*très lentesIncidents production après quelques mois de mise en service
👉 Dans 90 % des cas, la cause est la même : absence de stratégie de nettoyage de l’historique.
Ce blog explique :
Le fonctionnement de l’historique dans Camunda 7
Pourquoi le nettoyage est indispensable
Les stratégies disponibles
La configuration pas à pas
Les bonnes pratiques terrain
Fonctionnement des données d’historique dans Camunda 7
Camunda 7 stocke les données d’exécution et d’audit dans des tables relationnelles.
Tables principales d’historique
ACT_HI_PROCINST– Instances de processusACT_HI_ACTINST– Activités exécutéesACT_HI_TASKINST– Tâches humainesACT_HI_VARINST– VariablesACT_HI_DETAIL– Historique des mises à jour
👉 Chaque instance terminée ajoute des lignes dans ces tables.
🔷 Cycle de vie de l’historique Camunda 7 (diagramme conceptuel)
Sans nettoyage, la dernière étape n’existe jamais.
Pourquoi le nettoyage de l’historique est critique
Sans nettoyage
❌ Croissance infinie des tables
❌ Index inefficaces
❌ Sauvegardes DB très longues
❌ UI Camunda lente
❌ Dégradation progressive des performances
👉 Le history cleanup n’est pas optionnel en production.
Stratégies de nettoyage disponibles dans Camunda 7
Camunda 7 fournit un mécanisme intégré de nettoyage de l’historique, configurable de plusieurs façons.
Option 1 : Nettoyage basé sur le TTL (recommandé)
Principe
Définir un TTL (Time-To-Live) pour :
Processus
Cas (CMMN)
Décisions (DMN)
Camunda supprime automatiquement l’historique plus ancien que le TTL
Exemple
👉 Toute donnée historique de plus de 30 jours devient éligible au nettoyage.
Où configurer le TTL
1️⃣ Dans le modèle BPMN (meilleure pratique)
Dans la définition du processus :
✔ Précis
✔ Adapté par processus
✔ Compatible versioning
2️⃣ TTL global (moins recommandé)
Dans camunda.cfg.xml :
⚠️ S’applique à tous les processus
⚠️ Moins flexible
Option 2 : Job de nettoyage automatique
Le nettoyage est exécuté via un job interne Camunda.
Fonctionnement
Job planifié
Suppression par lots (batch)
Transactions courtes
Évite les verrous DB longs
🔷 Exécution du job de nettoyage – Diagramme
Configuration du nettoyage de l’historique
Activer le nettoyage (Camunda ≥ 7.4)
Définir la fenêtre de nettoyage (très important)
✔ Exécuter la nuit
✔ Éviter les heures de pointe
Taille des batchs
Petit batch → charge DB faible
Grand batch → nettoyage plus rapide
👉 À ajuster selon la base de données.
Option 3 : Nettoyage manuel ou par script (avancé)
Utilisé pour :
Migration d’anciens systèmes
Purge exceptionnelle
Nettoyage d’urgence
⚠️ Risque élevé
⚠️ À réserver aux DBA expérimentés
Erreurs fréquentes en production 🚨
❌ Aucun TTL défini
❌ TTL défini mais job désactivé
❌ Nettoyage pendant les heures de pointe
❌ Batch trop volumineux
❌ Suppression manuelle directe en base
❌ Absence d’index sur les tables d’historique
Bonnes pratiques de performance
✔ Définir un TTL par processus
✔ Rétention typique : 30 à 90 jours
✔ Activer le cleanup dès le premier jour
✔ Planifier le nettoyage la nuit
✔ Surveiller la durée du job
✔ Indexer :
END_TIME_PROC_DEF_KEY_REMOVAL_TIME_
✔ Coupler nettoyage + archivage si nécessaire
Supervision du nettoyage
À surveiller
Durée du job de cleanup
Nombre de lignes supprimées
Charge DB pendant le nettoyage
Croissance des tables
ACT_HI_*
Question d’entretien fréquente
Q : Que se passe-t-il si le nettoyage de l’historique n’est pas activé ?
R : Les tables d’historique grossissent indéfiniment, entraînant une dégradation progressive des performances de la base et de Camunda.
Recommandation terrain
| Environnement | TTL recommandé |
|---|---|
| Développement | 7–14 jours |
| Test / QA | 30 jours |
| Production | 60–90 jours (selon le métier) |
Conclusion
Une stratégie de nettoyage de l’historique est indispensable pour toute plateforme Camunda 7 en production.
À retenir :
Les données d’historique croissent rapidement
Le nettoyage doit être planifié dès le départ
Le TTL + job planifié est la solution la plus sûre
Ignorer le cleanup mène inévitablement à des problèmes de performance
👉 Si Camunda devient lent après quelques mois, le nettoyage de l’historique est presque toujours la cause.
💼 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, ainsi que l’automatisation des workflows (jBPM, Camunda BPM, RHPAM), DMN/Drools.
📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com
🌐 Website: IT Trainings | Digital lectern | Digital rostrum | Digital metal podium
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, ainsi que l’automatisation des workflows (jBPM, Camunda BPM, RHPAM), DMN/Drools.
📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com
🌐 Website: IT Trainings | Digital lectern | Digital rostrum | Digital metal podium
Comments
Post a Comment