Pratiques recommandées pour la gestion de la mémoire

Décrit les pratiques recommandées pour la gestion de la mémoire afin de maintenir un environnement d'exécution sain et d'éviter les erreurs de saturation de mémoire.

Un dispositif d'intégration réserve un pool de mémoire pour exécuter des travaux d'orchestration. La gestion de ce pool de mémoire est essentielle au maintien d'un environnement d'exécution sain.

Il existe une relation directe entre l'espace mémoire utilisé et des cycles de récupération de place. La récupération de place est un processus qui renvoie la mémoire conservée par les travaux terminés et les données variables à un pool de mémoire utilisé par tous les travaux d'orchestration. Ce processus de récupération de place garantit que le dispositif d'intégration dispose d'un approvisionnement constant en mémoire disponible pouvant être utilisé par les nouveaux travaux d'orchestration.

La récupération de place est un processus continu qui s'exécute en arrière-plan sans aucun impact sur les performances des travaux d'orchestration. Toutefois, lorsque la mémoire atteint un seuil critique, un processus plus approfondi appelé récupération de place complète a lieu. Le processus de récupération de place complète place tous les travaux en cours d'exécution en mode veille et renvoie la mémoire inutilisée au pool. Etant donné que tous les travaux d'orchestration s'arrêtent lors d'une récupération de place complète, les récupérations de place complètes fréquentes peuvent avoir une incidence sur les performances des travaux d'orchestration.

Lorsque la valeur de l'activité de récupération de place sur le graphique d'utilisation des ressources atteint des pics à intervalles réguliers, cela signifie probablement une utilisation élevée de la mémoire que le dispositif d'intégration tente de gérer en lançant des cycles de récupération de place complète plus fréquents. Toutefois, l'utilisation élevée de la mémoire ne signifie pas nécessairement une augmentation des cycles de récupération de place complète. Par exemple, un volume important de travaux d'orchestration à d'exécution courte donne lieu à un pourcentage plus élevé de mémoire utilisée. Mais les cycles de récupération de place, qui sont constamment en cours d'exécution en arrière-plan, sont susceptibles de renvoyer de la mémoire au pool de mémoire suffisamment rapidement de sorte que l'utilisation globale de la mémoire n'est jamais assez élevée pour déclencher une récupération de place complète. Les récupérations de place complètes arrêtent toutes les orchestrations, de sorte que les récupérations de place complètes fréquentes peuvent avoir une incidence sur les performances des travaux d'orchestration.

Les scénarios où l'utilisation élevée de la mémoire est susceptible de donner lieu à des cycles de récupération de place complète fréquents incluent une combinaison de types d'orchestration. Par exemple, lorsque plusieurs orchestrations à exécution longue comportent de nombreuses variables traitant des objets volumineux. Ces types d'orchestration consomment et exigent de grandes quantités de mémoire qui ne pourront pas être renvoyées rapidement au pool de mémoire.
Remarque : Ces types d'orchestration ne sont pas recommandés par Cast Iron.

Le tableau ci-dessous contient la liste des pratiques recommandées vous aidant à gérer l'utilisation de la mémoire et à maintenir un environnement d'exécution sain.

Tableau 1. Pratiques recommandées pour la gestion de la mémoire
Principes des pratiques recommandées Description
Réduisez les niveaux de journalisation. Une journalisation plus détaillée nécessite davantage de mémoire pour traiter et stocker les données et augmente la charge d'E-S sur le disque du dispositif d'intégration, ce qui peut ralentir les performances. Les niveaux de journalisation détaillée sont recommandés uniquement pour les opérations de débogage et non pour les environnements de production où des volumes de données importants sont traités.

Le dispositif d'intégration génère les journaux système et les journaux des travaux d'orchestration.

Cast Iron recommande que le niveau du journal système soit paramétré sur "Avertissement" pour tous les composants suivis dans le journal système :
  • Matériel
  • Ressources
  • Réseau
  • Sécurité
  • Orchestration
  • Déploiement
Si le nombre d'avertissements générés par les différents composants du système est élevé, l'utilisation de la mémoire peut poser des problèmes. Résolvez le problème qui est à l'origine de la génération d'avertissements ou augmentez le niveau de journalisation système à "Erreur". Pour plus d'informations sur le paramétrage des niveaux de journalisation système, voir Définition des paramètres des journaux système.

Les niveaux de journalisation des travaux d'orchestration sont définis pour chaque orchestration dans un projet. Cast Iron recommande que les niveaux de journalisation soient paramétrés sur "Valeurs d'erreur" pour toutes les orchestrations de tous les projets sur le dispositif d'intégration. Pour plus d'informations sur le paramétrage des niveaux de journalisation des travaux d'orchestration, voir Modification des paramètres d'orchestration.

Vérifiez que la persistance est activée pour toutes les orchestrations. Par défaut, la persistance est activée pour une orchestration et les données variables sont enregistrées sur le disque à la place de la mémoire. L'activation de la persistance a pour avantage supplémentaire la récupération instantanée des données si un incident se produit pendant l'exécution.

Si vous désactivez la persistance pour une orchestration, les données sont stockées dans la mémoire. Si la désactivation de la persistance peut améliorer les performances, à mesure que le nombre de travaux en cours d'exécution augmente, la probabilité de saturation de mémoire augmente également. En raison du risque élevé de saturation de la mémoire, procédez avec prudence lorsque vous choisissez de désactiver la persistance.

Remarque : La désactivation de la persistance réduit le nombre de travaux d'orchestration que le dispositif d'intégration peut exécuter simultanément. La limite est définie par l'espace mémoire disponible sur le dispositif d'intégration.
Utilisez les fonctions de planification disponibles dans la console de gestion Web et Studio pour échelonner les travaux d'orchestration. En planifiant le démarrage à différents moments de travaux nécessitant beaucoup de mémoire ou leur exécution pendant les heures creuses, vous diminuez la charge de la mémoire, réduisez le nombre de récupérations de place complètes et améliorez potentiellement les performances.

Dans Studio, vous pouvez utiliser l'activité de planification des travaux ou configurer des intervalles d'interrogation pour les activités d'une orchestration afin d'échelonner les travaux d'orchestration et de maximiser l'utilisation des ressources. Vous pouvez également créer un planning dans la console de gestion Web afin de contrôler le moment où le dispositif d'intégration doit exécuter un travail d'orchestration. Mesurez le temps d'exécution moyen d'un travail d'orchestration donné afin d'optimiser les plannings du travail.

Réduisez au minimum le nombre de variables utilisées dans une orchestration. Plus le nombre de variables que vous utilisez dans une orchestration est élevé, plus l'espace mémoire requis pour stocker les données est important. Cela permet également d'augmenter le nombre de cycles de récupération de place et a une incidence sur les performances. Passez en revue vos orchestrations pour vérifier si vous pouvez réduire le nombre de variables utilisées.
Réduisez le nombre de travaux exécutés simultanément. Dans la console de gestion Web, vous pouvez définir le nombre maximal de travaux exécutés simultanément pour une orchestration. Le pourcentage d'utilisation de la mémoire augmente proportionnellement au nombre d'orchestrations exécutées simultanément. Si vous constatez une surcharge de la mémoire, réduisez le nombre de travaux exécutés simultanément.

La réduction du nombre de travaux exécutés simultanément a notamment un impact sur les travaux d'orchestration non persistants à exécution longue qui contiennent un grand nombre de variables.

Remarque : Ces types d'orchestration ne sont pas recommandés par Cast Iron.
Ne dépassez pas 75 % de charge de la mémoire. Dans le graphique d'utilisation des ressources de la console de gestion Web, vous pouvez suivre le pourcentage de mémoire utilisée. Lorsque le pourcentage de mémoire utilisée est d'environ 75 % ou moins, le dispositif d'intégration est capable de traiter un nombre plus élevé d'orchestrations. Lorsque le pourcentage de mémoire utilisée dépasse environ 75 %, des problèmes de performances sont susceptibles de se produire dans la mesure où le nombre de récupérations de place complètes augmente.
Limitez les cycles de récupération de place complète. Dans le graphique d'utilisation des ressources de la console de gestion Web, vous pouvez utiliser la valeur de l'activité de récupération de place pour contrôler le pourcentage de récupérations de place complètes. Lorsque ce pourcentage dépasse 50 %, il est possible que le débit des travaux d'orchestration diminue. Mettez en oeuvre les pratiques recommandées pour la gestion de la mémoire afin de réduire l'utilisation de la mémoire et ainsi de réduire le risque que des cycles de récupération de place complète se produisent.
Ajoutez des dispositifs d'intégration supplémentaires à votre environnement. Une fois les pratiques recommandées mises en place, si l'utilisation de la mémoire reste élevée, il convient peut-être d'ajouter un autre dispositif d'intégration à votre environnement.