Qu'est-ce que la limitation des hôtes ?
La plupart du traitement qui se déroule sur un serveur BizTalk se produit dans une entité logique appelée instance de l'hôte BizTalk Server, qui est un processus exécuté en tant que service Windows ou que processus hôte isolé sur le serveur BizTalk. Pour gérer l'utilisation des ressources par un processus de l'instance de l'hôte, BizTalk Server utilise un mécanisme de limitation réglable qui régit le flux et le traitement de messages sur une instance de l'hôte.
Le mécanisme de limitation modère la charge de travail de l'instance de l'hôte pour vérifier qu'elle ne dépasse pas la capacité de cette instance ou des instances de l'hôte en aval. Le mécanisme de limitation empêche également une condition dite de conflit de ressources, qui peut réduire les performances globales du processus de l'instance de l'hôte ou d'autres processus système. Un conflit de ressources se produit lorsqu' un ou plusieurs processus utilisent une ressource limitée à leur détriment et/ou à celui d'un autre processus. Par exemple, la consommation d'une quantité excessive de mémoire ou de threads peut provoquer des échecs d'allocation de mémoire ou de nombreux changements de contexte de thread susceptibles d'affecter les performances du processus. De tels conflits peuvent nuire aux performances globales de BizTalk Server.
Le mécanisme de limitation de l'hôte détecte également à quel moment les ressources disponibles sont sous-utilisées. Lorsque les ressources disponibles sont sous-utilisées, le mécanisme de limitation autorise le traitement de messages supplémentaires par une instance de l'hôte. Il vérifie en permanence si les ressources disponibles sont sur- ou sous-utilisées et règle en conséquence le flux de messages sur l'instance de l'hôte.
Le mécanisme de limitation de l'hôte BizTalk Server permet de vérifier que le système fonctionne à un niveau optimal et acceptable.
Les paramètres de configuration de limitation de l'hôte sont définis par hôte sur la console Administration de BizTalk Server. Notez que les paramètres de configuration de limitation définis pour l'hôte s'appliquent à un ou à tous les gestionnaires de réception et d'envoi et aux orchestrations qui sont hébergées dans les instances de l'hôte correspondantes. Si vous souhaitez définir des paramètres de limitation qui ne seront appliqués qu'à un gestionnaire de réception ou d'envoi ou à une orchestration, procédez comme indiqué ci-dessous :
Créez un hôte et définissez les paramètres de limitation appropriés.
Configurez le gestionnaire de réception, le gestionnaire d'envoi ou l'orchestration de sorte qu'il soit exécuté sur cet hôte.
Créez une ou plusieurs instances de l'hôte qui seront exécutées sur vos serveurs BizTalk.
Limitation de l'hôte au niveau des entrées
La limitation de l’hôte entrant, également appelée limitation de publication de messages dans BizTalk Server, est appliquée aux instances hôtes qui contiennent des adaptateurs de réception ou des orchestrations qui publient des messages dans la base de données MessageBox. Une condition de limitation de l'hôte au niveau des entrées peut être déclenchée dans les conditions suivantes :
La quantité de mémoire, le nombre de threads ou le nombre de connexions aux bases de données utilisées par l’hôte instance dépasse les seuils de limitation définis dans le tableau de bord Paramètres disponible dans le groupe BizTalk et en sélectionnant Paramètres. Ces valeurs sont mesurables avec les compteurs de l’analyseur de performances disponibles sous la catégorie d’objet de performance BizTalk :Message Agent .
Les hôtes en aval sont incapables de traiter les messages publiés. Cela augmente la valeur du nombre de messages dans le paramètre de base de données . Le seuil auquel le nombre de messages dans la base de données déclenche une condition de limitation est configurable sur l’option Hôtes dans le tableau de bord Paramètres. Le nombre de messages dans la base de données peut être mesuré avec le compteur Taille de la base de données sous la catégorie d’objet de performance BizTalk :Message Agent .
Le taux d’entrée de publication de messages pour l’hôte instance dépasse le taux de publication de message\* la valeur du facteur de dépassement de vitesse spécifiée. La valeur du facteur rate overdrive est définie dans le tableau de bord paramètres, les hôtes , puis la limitation basée sur le taux. Les taux de publication de messages entrants et sortants peuvent être mesurés avec les compteurs d’analyse des performances correspondants sous la catégorie d’objet de performance BizTalk :Message Agent .
Le comportement de limitation par défaut a été modifié. L’utilisation du tableau de bord Paramètres pour BizTalk Server Réglage des performances décrit les différentes valeurs qui ont un impact sur le comportement de limitation.
Selon la gravité de la condition de limitation, les mesures suivantes sont prises :
Un délai progressif est implémenté dans la logique de traitement de l'instance de l'hôte. Ce délai peut être implémenté lorsqu'un thread du Gestionnaire de points de terminaison reçoit un lot de messages de l'adaptateur de transport et/ou lorsque ce gestionnaire soumet un lot de messages pour publication dans la base de données MessageBox. La durée du délai de traitement et la vitesse à laquelle cette durée est incrémentée déterminent la gravité de la condition de limitation.
Le nombre de threads disponibles pour le Gestionnaire de points de terminaison est restreint. Ce gestionnaire reçoit des lots de messages des adaptateurs et publie ces messages dans la base de données MessageBox. Par défaut, le Gestionnaire de points de terminaison est configuré pour utiliser 20 threads par UC. Si le mécanisme de limitation de l’hôte détecte une condition de stress pour le traitement entrant, il peut réduire provisoirement le nombre de threads mis à la disposition du gestionnaire jusqu’à ce que la condition de stress soit éliminée. Le Gestionnaire de points de terminaison ne peut traiter des messages des adaptateurs de transport ou remettre des lots de messages dans la base de données MessageBox que si un thread du Gestionnaire de points de terminaison est disponible pour traiter ce lot de messages entrants.
L'utilisation de la mémoire et d'autres ressources est réduite en fonction des besoins. BizTalk Server pouvez envoyer des instructions à d’autres classes de service pour limiter l’utilisation de la mémoire en déshydratant les planifications en cours d’exécution, en réduisant la taille du cache de mémoire et en limitant l’utilisation de threads gourmands en mémoire.
Flux de messages entrants de l’adaptateur vers MessageBox
Limitation de l'hôte au niveau des sorties
La limitation de l’hôte sortant, également appelée limitation du traitement des messages dans BizTalk Server, est appliquée aux instances hôtes qui contiennent des orchestrations ou envoient des adaptateurs qui reçoivent et remettent ou traitent des messages publiés dans MessageBox. Une condition de limitation de l'hôte au niveau des sorties peut être déclenchée dans les conditions suivantes :
La quantité de mémoire, le nombre de threads ou le nombre de connexions aux bases de données utilisés par l’hôte instance dépasse les seuils de limitation définis dans Limitation basée sur les ressources dans le tableau de bord Paramètres. Ces valeurs sont mesurables avec les compteurs de l’analyseur de performances disponibles sous la catégorie d’objet de performance BizTalk :Message Agent .
Le taux entrant de remise de messages pour l’hôte instance dépasse le taux sortant de remise de messages * la valeur spécifiée du facteur d’overdrive rate. La valeur du facteur de dépassement de vitesse est définie sous l’onglet Limitation basée sur le taux dans le tableau de bord Paramètres. Les taux de remise de messages entrants et sortants peuvent être mesurés avec les compteurs de l’analyseur de performances correspondants dans la catégorie d’objets de performance BizTalk :Message Agent .
Le nombre de messages traités simultanément par l’hôte instance dépasse les messages en cours par processeur * le nombre de processeurs disponibles dans la zone . Le seuil des messages in-process est défini sous l’onglet Limitation basée sur les ressources dans le tableau de bord Paramètres. Le nombre de messages traités simultanément par l’instance hôte peut être mesuré avec le compteur de performances Du nombre de messages en cours sous la catégorie d’objets de performances BizTalk :Message Agent.
Le comportement de limitation par défaut a été modifié. L’utilisation du tableau de bord Paramètres pour BizTalk Server Réglage des performances décrit les différentes valeurs qui ont un impact sur le comportement de limitation.
En fonction de la gravité de la condition de limitation, les actions suivantes sont effectuées :
Un délai progressif dans la logique de traitement de l'instance d'hôte est implémenté avant la remise des messages à l'adaptateur de transport sortant ou au moteur d'orchestration pour traitement. La durée du délai de traitement logique et la vitesse à laquelle cette durée est incrémentée déterminent la gravité de la condition de limitation.
Le nombre de messages qui peuvent être contenus dans la file d'attente en mémoire est limité. La file d'attente en mémoire sert d'espace réservé temporaire pour la remise des messages de la base de données MessageBox à l'agent des messages qui, à son tour, remet des messages à XLANG ou aux adaptateurs d'envoi. Par défaut, la file d'attente en mémoire est définie pour contenir 100 messages par UC. Lorsque la file d'attente est pleine, aucun message n'est supprimé de la base de données MessageBox tant que de l'espace n'est pas libéré de cette file d'attente.
La taille du pool de threads de l'agent des messages est limitée et, de ce fait, le mécanisme de limitation de l'hôte réduit considérablement le nombre de messages qui sont remis à XLANG et aux adaptateurs.
La taille du pool de threads de l’Agent de messages par défaut peut être modifiée en modifiant la valeur Maximum des threads du moteur sous l’onglet Général du tableau de bord Paramètres. Pour plus d’informations sur la modification de cette valeur, consultez Comment modifier les paramètres généraux.
L'utilisation de la mémoire et d'autres ressources est réduite en fonction des besoins. BizTalk Server peut envoyer des instructions à d'autres classes de service afin de limiter l'utilisation de la mémoire en mettant en attente les planifications en cours d'exécution, en réduisant la taille du cache et en limitant l'utilisation de threads qui nécessitent un volume important de mémoire.
Flux de messages sortants de la base de données MessageBox vers les adaptateurs et vers XLANG
Voir aussi
Implémentation de la limitation des hôtes par BizTalk Server
Utilisation du panneau de configuration pour le réglage des performances de BizTalk Server