Partager via


Résolution des problèmes de latence de MessageBox

Dans un monde parfait, tous les messages seraient traités et remis dès qu'ils seraient publiés dans la base de données MessageBox. Par ailleurs, cette dernière ne deviendrait jamais trop volumineuse. Tous les messages de la MessageBox n'étant plus référencés seraient immédiatement supprimés par les travaux de l'agent SQL qui nettoient régulièrement les tables de cette base de données.

Dans la réalité, cependant, les messages ne sont généralement pas reçus de façon prévisible et linéaire, et les travaux de l'agent SQL ont besoin de temps pour nettoyer les tables de la base de données MessageBox.

Par conséquent, dans certains cas, la MessageBox peut grossir très rapidement.

Les éléments ci-dessous peuvent entraîner un accroissement excessif de la MessageBox et détériorer les performances générales :

  • Le instance d’hôte Biztalk pour lequel l’option « autoriser le suivi de l’hôte » est arrêtée. C'est l'hôte qui est chargé de déplacer les données de suivi de la base de données MessageBox vers la base de données des suivis BizTalk (BizTalkDTADb).

  • SQL Server Agent n’exécute pas Cela peut se produire si les travaux SQL responsables du déplacement des données de la base de données MessageBox vers la base de données BizTalkDTADb [purger ultérieurement les données déplacées dans messageBox] ne sont pas en cours d’exécution. Pour éviter ce problème, le service de l'Agent SQL doit impérativement fonctionner tout le temps.

  • SQL Server Travaux sont désactivés Même si le SQL Server Agent est en cours d’exécution, il est impératif qu’aucune des tâches SQL Server par défaut ne soit désactivée.

  • La base de données BizTalkDTADb augmente excessivement Cela peut se produire si la base de données BizTalkDTADb devient très volumineuse, ce qui entraîne le temps d’insertion dans la base de données BizTalkDTADb. Dans ce cas, le déplacement des données par le service TDDS (Tracking Data Delivery Service) ralentit, ce qui génère une accumulation des travaux en retard dans la base de données MessageBox. Pour éviter ce problème, il est essentiel d'exécuter régulièrement les travaux de purge et d'archivage du serveur SQL sur les bases de données BizTalkDTADb.

  • Latence d’E/S disque excessive Si le débit entrant de données dans la base de données MessageBox est plus rapide que celui que le système peut traiter et déplacer les données vers la base de données BizTalkDTADb, le backlog peut s’accumuler dans la base de données MessageBox. Si cette accumulation se poursuit, le problème s'aggrave et les performances du système se dégradent peu à peu. Pour résoudre ce problème, vous pouvez installer des disques plus rapides et/ou mettre à niveau le matériel afin que le système puisse se remettre des éventuels messages accumulés avec le temps.

Prévoir l'avenir

Même si toutes les recommandations ci-dessus sont respectées, avec le temps, le volume des données de suivi déplacées vers la base de données BizTalkDTADb devient très important. Il est donc indispensable d'implémenter un plan de maintenance de cette base de données de façon à archiver régulièrement les données de suivi afin que le système présente toujours des performances optimales.

La quantité de données historiques pouvant être conservées dans la base de données BizTalkDTADb dépend du volume des messages transmis au sein du système. Dans les systèmes non soumis à un débit et un stress élevés, cette base de données grossit à un rythme plus lent et peut contenir plus de données historiques.

Il est recommandé de conserver un nombre de données minimal dans la base de données BizTalkDTADb afin de ne pas nuire aux performances du moteur d'exécution.