Partager via


Goulots d’étranglement au niveau du système

Cette rubrique explique comment résoudre les goulots d’étranglement courants au niveau du système qui peuvent avoir un impact sur les performances d’une solution de BizTalk Server.

Création d’un instantané de la configuration de base de référence

La collecte des informations suivantes peut vous fournir un instantané de la configuration de base que vous pouvez utiliser pour corriger les goulots d’étranglement au niveau du système.

Rassembler la documentation

Consultez la documentation de l’architecture et de l’infrastructure de votre scénario.

Exécuter l’analyseur de sécurité de base

Pour exécuter l’analyseur de sécurité de base, procédez comme suit :

  1. Utilisez Microsoft Baseline Security Analyzer.

  2. À l’aide d’un compte d’administrateur de domaine, connectez-vous à un ordinateur sur le même réseau qui héberge le BizTalk Server et SQL Server ordinateurs.

  3. Installez Microsoft Baseline Security Analyzer sur l’ordinateur actuel (par exemple, l’un des ordinateurs BizTalk Server ou un ordinateur distinct).

  4. Exécutez une analyse distincte (Démarrer l’analyse), en spécifiant comme paramètre le nom ou l’adresse IP de chaque BizTalk Server et SQL Server ordinateur.

  5. Copiez chaque rapport de sécurité (fichiers .mbsa) à partir du répertoire %userprofile%\SecurityScans.

Exécuter l’analyseur de bonnes pratiques BizTalk Server

Procédez comme suit pour exécuter l’analyseur de meilleures pratiques BizTalk Server :

  1. Téléchargez le BizTalk Server Best Practices Analyzer.

  2. À l’aide d’un compte d’utilisateur qui fait partie du groupe de sécurité Administrateur BizTalk Server, connectez-vous à un nœud BizTalk Server.

  3. Installez le BizTalk Server Best Practices Analyzer sur l’ordinateur actuel.

  4. Exécutez l’outil et enregistrez le rapport.

Exécutez MSInfo32 et enregistrez les résultats

Pour exécuter MSInfo32, procédez comme suit :

  1. À l’aide d’un domaine ou d’un compte d’administrateur local, connectez-vous à chaque BizTalk Server et SQL Server ordinateur.

  2. Lancez une invite de commandes et remplacez les répertoires par le répertoire %windir%\system32 de l’ordinateur.

  3. Exécutez MSinfo32.exe à partir de l’invite de commandes.

  4. Cliquez sur le menu Fichier et sélectionnez l’élément de menu Exporter à exporter pour enregistrer la configuration de l’ordinateur.

Exporter le BizTalk Server et SQL Server paramètre de Registre TCP/IP de l’ordinateur -

Procédez comme suit pour enregistrer le BizTalk Server et SQL Server paramètres du Registre TCP/IP :

  1. Lancez une invite de commandes et remplacez les répertoires par le répertoire %windir%\system32 de l’ordinateur.

  2. Exécutez Regedit.exe à partir de l’invite de commandes.

  3. Accédez à la clé suivante dans le Registre :

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] (network settings)
    
  4. Cliquez avec le bouton droit sur cette clé et sélectionnez Exporter pour exporter la clé de Registre vers un fichier.

Collecter les fichiers de configuration BizTalk

Sur chaque nœud BizTalk Server, collectez le fichier de configuration BizTalk Server, BTSNTSvc.exe.config fichier (ou BTSNTSvc64.exe.config pour les hôtes 64 bits), situé dans le dossier d’installation BizTalk Server (par exemple, C :\Program Files\Microsoft BizTalk Server 2010).

Collecter les fichiers de configuration .NET

Sur chaque nœud BizTalk Server, collectez les fichiers de configuration machine.config et web.config .NET Framework 4.0. Vous trouverez les fichiers de configuration à l’emplacement suivant :

  • Pour le dossier 32 bits : %windir%\Microsoft.NET\Framework\v4.0.30319\CONFIG

  • Pour 64 bits : dossier %windir%\Microsoft.NET\Framework64\v4.0.30319\CONFIG

Utiliser l’outil BizTalk MsgBoxViewer pour collecter des informations sur la base de données MessageBox

Procédez comme suit pour collecter des informations sur la base de données MessageBox à l’aide de l’outil BizTalk MsgBoxViewer :

  1. Téléchargez l’outil BizTalk MsgBoxViewer, disponible dans le BizTalk Health Monitor.

  2. Connectez-vous à l’ordinateur BizTalk Server avec un compte d’utilisateur qui fait partie du groupe de sécurité Administrateur BizTalk Server.

  3. Copiez le MsgBoxViewer.exe sur l’ordinateur BizTalk Server.

  4. Lancez l’outil.

  5. Cliquez sur l’onglet Informations facultatives à collecter , puis cliquez sur Sélectionner toutes les informations.

  6. Cliquez sur Démarrer pour collecter.

  7. Lorsque l’étiquette État affiche le message Fin de la collection , basculez vers le dossier contenant l’exécutable MsgBoxViewer.exe et copiez le rapport (.htm) et les fichiers journaux résultants.

Collecter et stocker le code source de tous les composants utilisés dans la solution

Stockez le code source de tous les composants (par exemple orchestration, composant de pipeline personnalisé et code des composants d’assistance) sur un partage de fichiers distinct.

Résolution initiale des problèmes

Il existe certains composants d’une solution BizTalk Server qui, s’ils ne sont pas activés, entraînent des problèmes de performances, quelle que soit la taille ou la conception globale de la solution BizTalk. Les tâches de dépannage préliminaires suivantes doivent être effectuées pour exclure certains des « suspects habituels » avant de procéder à une analyse exhaustive des goulots d’étranglement d’une solution BizTalk.

  • Vérifier que le instance hôte de suivi est en cours d’exécution : le instance hôte de suivi est responsable du déplacement des données BAM et HAT de la table TrackingData de la base de données MessageBox vers les tables de base de données BizTalkDTADb et/ou BAMPrimaryImport. Si le instance hôte de suivi n’est pas en cours d’exécution, les données de suivi s’accumulent dans la base de données MessageBox et ont un impact négatif sur les performances de la solution BizTalk Server.

  • Vérifiez que le service ENTSSO (Enterprise Single Sign-On) est en cours d’exécution sur tous les ordinateurs BizTalk Server . Les instances d’hôte BizTalk conservent une dépendance sur un instance exécuté localement du service ENTSSO. Si le service ENTSSO n’est pas en cours d’exécution sur le BizTalk Server, les instances d’hôte sur le serveur ne peuvent pas non plus s’exécuter.

  • Vérifier que le service SQL Server Agent s’exécute sur tous les ordinateurs SQL Server : le service SQL Server Agent doit être en cours d’exécution pour que les travaux bizTalk SQL Server Agent s’exécutent. Ces travaux exécutent des fonctions importantes pour maintenir vos serveurs opérationnels et sains.

  • Vérifiez que les travaux de SQL Server Agent BizTalk sont activés et en cours d’exécution sans exception : même si le service SQL Server Agent est en cours d’exécution, il est impératif que tous les travaux bizTalk SQL Server Agent par défaut soient activés et s’exécutent correctement.

  • Vérifier les journaux d’événements BizTalk Server et SQL Server : un examen rapide des journaux d’événements BizTalk Server ou SQL Server peut révéler un problème qui, autrement, pourrait prendre beaucoup de temps à diagnostiquer et à résoudre.

  • Exécuter l’analyseur BizTalk Server meilleures pratiques : l’analyseur BizTalk Server meilleures pratiques examine un déploiement BizTalk Server et génère une liste de problèmes liés aux normes de bonnes pratiques. L’outil effectue une vérification au niveau de la configuration en collectant des données à partir de différentes sources d’informations, telles que des classes WMI (Windows Management Instrumentation), des bases de données SQL Server et des entrées de Registre. Les données sont ensuite utilisées pour évaluer la configuration du déploiement. L’outil lit et signale uniquement et ne modifie aucun paramètre système, et n’est pas un outil de réglage automatique. Téléchargez le BizTalk Server Best Practices Analyzer.

Goulots d’étranglement du système de haut niveau

Cette section décrit les goulots d’étranglement au niveau du système qui peuvent être présents dans une solution BizTalk Server et les stratégies d’atténuation possibles.

Goulots d’étranglement d’E/S disque

Les E/S de disque font référence au nombre d’opérations de lecture et d’écriture effectuées par votre application sur un disque physique ou plusieurs disques installés sur votre serveur. Les activités courantes qui peuvent provoquer des E/S de disque et des goulots d’étranglement associés incluent les opérations d’E/S de fichiers de longue durée, le chiffrement et le déchiffrement des données, la lecture de données inutiles à partir de tables de base de données et une mémoire physique insuffisante, ce qui peut entraîner une activité de pagination excessive. La vitesse du disque est un autre facteur à prendre en compte lors de l’évaluation des goulots d’étranglement d’E/S de disque . les disques plus rapides offrent des performances accrues et permettent de réduire les goulots d’étranglement d’E/S disque.

Le tableau ci-dessous fournit les facteurs à prendre en compte lors de la planification du sous-système de disque pour une solution BizTalk Server.

Facteur de sous-système de disque Détails
Cache de mémoire disque et mémoire physique disponible Étant donné que la mémoire est mise en cache sur le disque à mesure que la mémoire physique devient limitée, vérifiez que vous disposez d’une quantité suffisante de mémoire disponible. Lorsque la mémoire est rare, davantage de pages sont écrites sur le disque, ce qui entraîne une augmentation de l’activité du disque. Veillez également à définir le fichier de pagination sur une taille appropriée. Un cache de mémoire disque supplémentaire permet de compenser les pics de demandes d’E/S disque. Toutefois, il convient de noter qu’un cache de mémoire disque volumineux résout rarement le problème de ne pas avoir suffisamment de broches, et avoir suffisamment de broches peut annuler la nécessité d’un cache de mémoire disque volumineux. Pour plus d’informations sur la configuration du fichier de pagination Windows pour des performances optimales, consultez la section « Configurer windows PAGEFILE pour des performances optimales » dans la rubrique Optimisation des performances du système d’exploitation.
Type de contrôleur de stockage Si vous disposez d’un cache avec batterie, activez la mise en cache d’écriture pour améliorer les performances d’écriture sur disque sur les volumes de fichiers journaux des transactions et sur les volumes de base de données. La mise en cache d’écriture fournit un temps de réponse de 2 ms pour une demande d’E/S d’écriture, par opposition à un temps de réponse de 10 à 20 ms sans mise en cache d’écriture activée. L’activation de la mise en cache d’écriture améliore considérablement la réactivité des demandes d’écriture du client. La mise en cache en lecture n’améliore pas les performances dans un scénario de BizTalk Server, car elle n’est utile que pour les lectures séquentielles sur disque, qui se produisent uniquement dans les fichiers journaux des transactions.

Les fichiers journaux des transactions sont lus uniquement lorsqu’ils sont lus, par exemple après une restauration de base de données ou lorsqu’un serveur n’est pas correctement arrêté. Les caches plus grands permettent de mettre en mémoire tampon davantage de données, ce qui signifie que des périodes de saturation plus longues peuvent être traitées. Si votre contrôleur vous permet de configurer la taille de page du cache, vous devez la définir sur 4 Ko. Une taille plus élevée, telle que 8 Ko, entraîne un gaspillage du cache, car une demande d’E/S de 4 Ko occupe la page de cache entière de 8 Ko, coupant ainsi votre cache utilisable en deux.
Broches Les broches sont plus importantes que la capacité, et BizTalk Server performances sont améliorées si les broches prennent en charge un nombre élevé de demandes d’E/S aléatoires. Planifiez une utilisation totale inférieure à 80 % pour vous assurer que suffisamment d’E/S sont disponibles, même en cas de défaillance d’une broche.
Raid La solution RAID que vous utilisez doit être basée sur les compromis en matière de coût et de performances appropriés pour votre environnement. Par conséquent, plusieurs types de solution RAID peuvent être recommandés pour une exigence de stockage de données particulière. Les recommandations générales sont les suivantes :

- Utilisez Raid-1+0 (jeux entre bandes dans un ensemble mis en miroir) pour les bases de données BizTalk Server.
- Utilisez Raid-1 (jeu mis en miroir sans parité) pour les volumes du fichier journal des transactions.
- En général, Raid 5 (jeu à bandes avec parité distribuée) n’est pas recommandé, car Raid 5 ne fournit pas de fiabilité, de disponibilité et de performances optimales par rapport à d’autres configurations Raid.
- En raison de la possibilité d’une perte de données permanente, une configuration Raid-0 (jeu à bandes sans parité) ne doit jamais être utilisée dans un environnement de production BizTalk Server.
Type de bus Un débit plus élevé offre de meilleures performances. En général, les bus SCSI offrent un meilleur débit et une meilleure scalabilité que les bus IDE ou ATA. Vous pouvez utiliser l’équation suivante pour déterminer la limite de débit théorique pour votre type de bus :

(Vitesse du bus (en bits) / 8 bits par octet) X Vitesse de fonctionnement (en MHz) = Débit (en Mo/s)

Vous pouvez également améliorer les performances d’E/S disque en plaçant plusieurs lecteurs sur des bus d’E/S distincts.

Compteurs de performances pour mesurer les goulots d’étranglement des E/S disque

Notes

Lorsque vous tentez d’analyser les goulots d’étranglement des performances du disque, vous devez toujours utiliser des compteurs de disque physiques. Toutefois, si vous utilisez un RAID logiciel, vous devez utiliser des compteurs de disque logique. Comme pour les compteurs de disque logique et de disque physique, les mêmes compteurs sont disponibles dans chacun de ces objets de compteur. Les données de disque logique sont suivies par le gestionnaire de volumes (ou les gestionnaires), et les données de disque physiques sont suivies par le gestionnaire de partition.

Les compteurs de performances suivants doivent être utilisés pour déterminer si votre système rencontre un goulot d’étranglement lié aux E/S disque :

  • PhysicalDisk\Avg. Longueur de la file d’attente de disque

    • Seuil : ne doit pas être supérieur au nombre de broches plus deux.

    • Importance : ce compteur indique le nombre moyen de demandes de lecture et d’écriture qui ont été mises en file d’attente pour le disque sélectionné pendant l’intervalle de l’exemple. Ce compteur est utile pour collecter des données d’accès concurrentiel, y compris les rafales de données et les pics de charge. Ces valeurs représentent le nombre de requêtes en cours d’exécution sous le pilote qui prend les statistiques. Cela signifie que les demandes ne sont pas nécessairement mises en file d’attente, mais qu’elles peuvent en fait être en service ou terminées et sur le chemin d’accès. Les emplacements en cours d’exécution possibles sont les suivants :

      • File d’attente SCSIport ou Storport

      • File d’attente de pilotes OEM

      • File d’attente du contrôleur de disque

      • File d’attente de disque dur

      • Réception active à partir d’un disque dur

  • PhysicalDisk\Avg. Long. moy. de file d’attente de lecture du disque

    • Seuil : doit être inférieur à deux.

    • Importance : ce compteur indique le nombre moyen de demandes de lecture qui ont été mises en file d’attente pour le disque sélectionné pendant l’intervalle de l’exemple.

  • PhysicalDisk\Avg. Long. moy. de file d’attente d’écriture du disque

    • Seuil : doit être inférieur à deux.

    • Importance : ce compteur indique le nombre moyen de demandes d’écriture qui ont été mises en file d’attente pour le disque sélectionné pendant l’intervalle de l’exemple.

  • PhysicalDisk\Avg. Disk sec/Read

    • Seuil : aucune valeur spécifique.

      • Moins de 10 millisecondes (ms) = bon

      • Entre 15 et 25 ms = fair

      • Supérieur à 25 ms = pauvre

    • Importance : ce compteur indique la durée moyenne, en secondes, d’une opération de lecture de données à partir du disque. Si le nombre est supérieur à 25 millisecondes (ms), cela signifie que le système de disque connaît une latence lors de la lecture à partir du disque. Pour les serveurs stratégiques hébergeant des BizTalk Server, le seuil acceptable est beaucoup plus bas, environ 10 ms.

  • PhysicalDisk\Avg. Disque sec/écriture

    • Seuil : aucune valeur spécifique.

      • Moins de 10 millisecondes (ms) = bon

      • Entre 15 et 25 ms = fair

      • Supérieur à 25 ms = pauvre

    • Importance : ce compteur indique la durée moyenne, en secondes, d’une opération d’écriture de données sur le disque. Si le nombre est supérieur à 25 ms, le système de disque subit une latence lors de l’écriture sur le disque. Pour les serveurs stratégiques hébergeant des BizTalk Server, le seuil acceptable est beaucoup plus bas, environ 10 ms.

  • PhysicalDisk\Avg. Disk sec/Transfer

    • Seuil : ne doit pas être supérieur à 18 millisecondes.

    • Importance : ce compteur indique l’heure, en secondes, du transfert de disque moyen. Cela peut indiquer une grande quantité de fragmentation de disque, de disques lents ou de défaillances de disque. Multipliez les valeurs des compteurs Disque physique\Disque moyen s/Transfert et Mémoire\Pages/s . Si le produit de ces compteurs dépasse 0,1, la pagination prend plus de 10 % du temps d’accès au disque. Vous avez donc besoin de plus de mémoire physique disponible.

  • PhysicalDisk\Disk Writes/s

    • Seuil : dépend des spécifications du fabricant.

    • Importance : ce compteur indique le taux d’opérations d’écriture sur le disque.

  • Processeur\% temps DPC, % temps d’interruption et % temps privilégié - Si le temps d’interruption et le temps d’appel de procédure différé (DPC) représentent une grande partie du temps privilégié, le noyau passe beaucoup de temps à traiter les demandes d’E/S. Dans certains cas, les performances peuvent être améliorées en configurant les interruptions et l’affinité DPC avec un petit nombre de processeurs sur un système multiprocesseur, ce qui améliore la localisation du cache. Dans d’autres cas, il est préférable de répartir les interruptions et les PDC entre de nombreux processeurs, afin d’éviter que l’activité d’interruption et de DPC ne devienne un goulot d’étranglement. Pour plus d’informations sur l’utilisation de l’outil de configuration du filtre d’interruption pour lier des interruptions de carte réseau à des processeurs spécifiques sur des ordinateurs multiprocesseurs, consultez la section « Utiliser l’outil de configuration du filtre d’interruption pour lier des interruptions de carte réseau à des processeurs spécifiques sur des ordinateurs multiprocesseurs » dans Optimisation des performances du système d’exploitation.

  • Processeur\PDC mis en file d’attente /s - Mesure la façon dont les PDC consomment le temps processeur et les ressources du noyau.

  • Processeur\Interruptions / s - Une autre mesure de la façon dont les interruptions consomment le temps processeur et les ressources du noyau. Les contrôleurs de disque modernes combinent souvent ou fusionnent des interruptions afin qu’une seule interruption entraîne le traitement de plusieurs achèvements d’E/S. Bien sûr, il existe un compromis entre retarder les interruptions (et donc les achèvements) et économiser le temps de traitement de l’UC.

Options de paramétrage des E/S disque

Si vous déterminez que les E/S de disque constituent un goulot d’étranglement dans votre environnement, les techniques suivantes peuvent être utilisées pour atténuer le goulot d’étranglement :

  • Défragmentez vos disques - Utilisez l’utilitaire disponible dans PageDefrag pour défragmenter le fichier de pagination Windows et préallouer les tables de fichier maître.

  • Utilisez des jeux de bandes pour traiter les demandes d’E/S simultanément sur plusieurs disques - Utilisez des volumes mis en miroir pour fournir une tolérance de panne et augmenter les performances d’E/S. Si vous n’avez pas besoin d’une tolérance de panne, implémentez des jeux de bandes pour une lecture et une écriture rapides et une capacité de stockage améliorée. Lorsque des jeux de bandes sont utilisés, l’utilisation par disque est réduite, car le travail est distribué entre les volumes et le débit global augmente. Si l’ajout de disques supplémentaires dans un jeu de bandes n’augmente pas le débit, votre système peut rencontrer un goulot d’étranglement en raison d’une contention entre les disques par le contrôleur de disque. Dans ce cas, l’ajout d’un contrôleur de disque supplémentaire permet de répartir la charge et d’augmenter les performances.

  • Répartir la charge de travail entre plusieurs lecteurs - Le clustering Windows et le système de fichiers distribués fournissent des solutions pour l’équilibrage de charge sur plusieurs lecteurs de disque.

  • Limiter l’utilisation de la compression ou du chiffrement de fichiers - La compression et le chiffrement de fichiers sont des opérations nécessitant beaucoup d’E/S. Vous ne devez les utiliser que lorsque cela est absolument nécessaire.

  • Désactiver la création de noms courts - Si vous ne prendz pas en charge MS-DOS pour les clients Windows 3.x, désactivez les noms courts pour améliorer les performances. Pour plus d’informations sur la désactivation de la création de noms courts, consultez la section « Désactiver la génération de nom de fichier court (8.3) » dans Optimisation des performances du système d’exploitation.

  • Désactiver la dernière mise à jour d’accès - Par défaut, NTFS met à jour la date et l’heure du dernier accès sur les répertoires chaque fois qu’il traverse le répertoire. Pour un volume NTFS volumineux, ce processus de mise à jour peut nuire aux performances. Pour plus d’informations sur la désactivation des mises à jour du dernier accès, consultez la section « Désactiver les mises à jour du dernier accès NTFS » dans Optimisation des performances du système d’exploitation.

    Attention

    Certaines applications, telles que les utilitaires de sauvegarde incrémentielle, s’appuient sur les informations de mise à jour NTFS et ne fonctionnent pas correctement sans elles.

  • Réservez l’espace approprié pour la table de fichiers master : ajoutez l’entrée NtfsMftZoneReservation au Registre en fonction du nombre de fichiers généralement stockés sur vos volumes NTFS. Lorsque vous ajoutez cette entrée au Registre, le système réserve de l’espace sur le volume pour la table de fichiers master. La réservation d’espace de cette manière permet à la table de fichiers master de croître de manière optimale. Si vos volumes NTFS stockent généralement relativement peu de fichiers, définissez la valeur de cette entrée de Registre sur la valeur par défaut 1. En règle générale, vous pouvez utiliser une valeur de 2 ou 3 si vos volumes NTFS stockent un nombre modéré de fichiers, et utiliser une valeur de 4 (le maximum) si vos volumes NTFS ont tendance à contenir un nombre relativement élevé de fichiers. Toutefois, veillez à tester tous les paramètres supérieurs à 2, car ces valeurs supérieures entraînent le système à réserver une partie beaucoup plus importante du disque pour la table de fichiers master. Pour plus d’informations sur l’ajout de NtfsMftZoneReservation au Registre, consultez la section « Augmenter l’espace disponible pour la table de fichiers master » dans Optimisation des performances du système d’exploitation.

  • Utilisez les systèmes de disque les plus efficaces disponibles - En plus du disque physique utilisé, tenez compte du type de contrôleur de disque et de câblage qui sera utilisé. Un sous-système de disque efficace doit également fournir des pilotes qui prennent en charge la modération des interruptions ou l’évitement des interruptions pour atténuer l’activité d’interruption du processeur causée par les E/S de disque.

  • Vérifiez que vous utilisez la configuration RAID appropriée : Utilisez RAID 10 (striping et mise en miroir) pour optimiser les performances et la tolérance de panne. Le compromis est que l’utilisation du RAID 10 est coûteuse. Évitez d’utiliser RAID 5 lorsque vous avez des opérations d’écriture étendues. Pour plus d’informations sur l’implémentation de RAID dans un environnement BizTalk Server, consultez la section « Infrastructure de disque » dans le BizTalk Server Optimisation de la base de données.

  • Envisagez d’utiliser des partitions de base de données - Si vous avez un goulot d’étranglement de base de données, envisagez d’utiliser des partitions de base de données et de mapper des disques à des tables et journaux de transactions spécifiques. L’objectif principal des partitions est de surmonter les goulots d’étranglement de disque pour les grandes tables. Si vous avez une table avec un grand nombre de lignes et que vous déterminez qu’il s’agit de la source d’un goulot d’étranglement, envisagez d’utiliser des partitions. Par SQL Server, vous pouvez utiliser des groupes de fichiers pour améliorer les performances d’E/S. Vous pouvez associer des tables à des groupes de fichiers, puis associer les groupes de fichiers à un disque dur spécifique. Pour plus d’informations sur l’utilisation de groupes de fichiers pour les bases de données BizTalk Server, consultez Optimisation des groupes de fichiers pour les bases de données.

  • Envisagez d’ajouter de la mémoire physique, si vous avez des erreurs de page excessives - Une valeur élevée pour la mémoire : le compteur de performances Pages/s peut indiquer une pagination excessive qui augmentera l’I/0 disque. Si cela se produit, envisagez d’ajouter de la mémoire physique pour réduire les E/S disque et augmenter les performances.

  • Envisagez d’utiliser un disque avec une évaluation RPM plus élevée ou un appareil SAN (Storage Area Network) - Les disques avec des évaluations RPM plus élevées offrent des performances améliorées par rapport aux disques avec des évaluations RPM inférieures. Les appareils SAN offrent généralement des performances de premier niveau, mais à un prix élevé.

  • Suivez les recommandations de la section Optimisation des performances de la base de données. Cette rubrique fournit plusieurs recommandations pour optimiser les performances de la base de données avant et après la configuration des BizTalk Server.

Goulots d’étranglement du processeur

Chaque application qui s’exécute sur un serveur obtient une tranche de temps de l’UC. Le processeur peut être en mesure de gérer efficacement tous les processus en cours d’exécution sur l’ordinateur, ou il peut être surchargé. En examinant l’activité du processeur et l’activité de processus individuels, notamment la création de threads, le changement de thread et le changement de contexte, vous pouvez obtenir des informations sur la charge de travail et les performances du processeur.

Vous pouvez avoir un goulot d’étranglement du processeur si...

  • La valeur du compteur de performances Processeur\% Temps processeur dépasse souvent 75 %.

  • La valeur du compteur de performances Longueur de file d’attente système\ processeur est de 2 ou plus pendant une période prolongée.

  • La valeur des compteurs de performances Processeur\% Privileged Time ou System\Context Switches/s est anormalement élevée.

    Si la valeur du compteur de performances Processeur\ % Temps processeur est élevée, la mise en file d’attente se produit et, dans la plupart des scénarios, la valeur de La longueur de la file d’attente du processeur est également élevée.

Compteurs de performances pour mesurer les goulots d’étranglement du processeur

Les compteurs de performances suivants doivent être utilisés pour déterminer si votre système rencontre un goulot d’étranglement lié au processeur :

  • Processeur\% Temps processeur

    • Seuil : Doit être inférieur à 85 %.

    • Importance : ce compteur est le principal indicateur de l’activité du processeur. Valeurs élevées beaucoup ne sont pas nécessairement mauvaises. Toutefois, si les autres compteurs liés au processeur augmentent de manière linéaire, tels que Processeur\% Privileged Time ou System\Processor Queue Length, l’utilisation élevée du processeur peut être utile.

  • Processeur\% Privileged Time

    • Seuil : un chiffre qui dépasse systématiquement 75 % indique un goulot d’étranglement.

    • Importance : ce compteur indique le pourcentage de temps d’exécution d’un thread en mode privilégié. Lorsque votre application appelle des fonctions de système d’exploitation (par exemple pour effectuer des E/S de fichiers ou réseau ou pour allouer de la mémoire), ces fonctions de système d’exploitation sont exécutées en mode privilégié.

  • Processeur\% Temps d'interruption

    • Seuil : dépend du processeur.

    • Importance : ce compteur indique le pourcentage de temps que le processeur passe à recevoir et à réparer les interruptions matérielles. Cette valeur est un indicateur indirect de l’activité des appareils qui génèrent des interruptions, telles que des cartes réseau. Une augmentation spectaculaire de ce compteur indique des problèmes matériels potentiels.

  • Longueur de la file d’attente système\processeur

    • Seuil : une valeur moyenne constamment supérieure à 2 indique un goulot d’étranglement.

    • Importance : s’il y a plus de tâches prêtes à s’exécuter que de processeurs, les threads sont mis en file d’attente. La file d’attente du processeur est la collection de threads qui sont prêts, mais qui ne peuvent pas être exécutés par le processeur, car un autre thread est en cours d’exécution. Une file d’attente soutenue ou périodique de plus de deux threads est une indication claire d’un goulot d’étranglement du processeur. Vous pouvez obtenir plus de débit en réduisant le parallélisme dans ces cas.

      Vous pouvez utiliser ce compteur conjointement avec le compteur Processeur\% Temps processeur pour déterminer si votre application peut tirer parti d’autres processeurs. Il existe une file d’attente unique pour le temps processeur, même sur les ordinateurs multiprocesseurs. Par conséquent, dans un ordinateur multiprocesseur, divisez la valeur PQL (Processor Queue Length) par le nombre de processeurs qui effectuent la maintenance de la charge de travail.

      Si le processeur est très occupé (90 % ou plus) et que la moyenne PQL est constamment supérieure à 2 par processeur, il se peut que vous ayez un goulot d’étranglement du processeur qui pourrait tirer parti de l’ajout de processeurs. Vous pouvez également réduire le nombre de threads et mettre en file d’attente davantage au niveau de l’application. Cela entraîne moins de basculement de contexte, et moins de changement de contexte est utile pour réduire la charge du processeur. Une raison courante pour une valeur PQL de 2 ou plus avec une faible utilisation du processeur est que les demandes de temps processeur arrivent de manière aléatoire et que les threads exigent des quantités de temps irrégulières du processeur. Cela signifie que le processeur n’est pas un goulot d’étranglement, mais que la logique de threading d’application doit être améliorée.

  • System\Context Switches/s

    • Seuil : En règle générale, un taux de basculement de contexte inférieur à 5 000 par seconde et par processeur ne vaut pas la peine de s’inquiéter. Si les taux de basculement de contexte dépassent 15 000 par seconde et par processeur, le changement de contexte peut devenir un goulot d’étranglement.

    • Importance : le changement de contexte se produit lorsqu’un thread de priorité supérieure préempte un thread de priorité inférieure en cours d’exécution ou lorsqu’un thread de haute priorité bloque d’autres threads. Des niveaux élevés de basculement de contexte peuvent se produire lorsque de nombreux threads partagent le même niveau de priorité. Cela indique souvent qu’il existe trop de threads en concurrence pour les processeurs sur le système. Si l’utilisation du processeur et les niveaux de basculement de contexte sont faibles, cela indique souvent que les threads sont bloqués.

Résolution des goulots d’étranglement du processeur

La première étape consiste à identifier le processus qui consomme un temps processeur excessif. Utilisez le Gestionnaire des tâches Windows pour identifier le processus qui consomme des niveaux élevés d’UC en examinant la colonne PROCESSEUR de la page Processus . Vous pouvez également le déterminer en surveillant le processus\%Temps processeur dans Analyseur de performances et en sélectionnant les processus à surveiller.

Un autre outil puissant permettant de déterminer quels processus consomment un temps processeur excessif est le profileur Visual Studio Team System qui est disponible avec la suite Visual Studio Team System (VSTS). Pour plus d’informations sur l’utilisation de Visual Studio Team System Profiler, consultez la documentation de Visual Studio Team System.

Une fois que vous avez déterminé que votre processeur est un goulot d’étranglement, vous disposez de plusieurs options, notamment les suivantes :

  • Ajoutez plusieurs processeurs si vous avez des applications multithread. Envisagez de mettre à niveau vers un processeur plus puissant si votre application est monothread.

  • Si vous observez un taux élevé de basculement de contexte, envisagez de réduire le nombre de threads pour votre processus avant d’augmenter le nombre de processeurs.

  • Analysez et réglez l’application qui entraîne une utilisation élevée du processeur. Vous pouvez vider le processus en cours d’exécution à l’aide de l’utilitaire ADPLUS et analyser la cause à l’aide de Windbg. Ces utilitaires font partie du kit de ressources de débogage Windows. Vous pouvez télécharger ces outils à partir des outils de débogage pour Windows.

  • Analysez le journal d’instrumentation généré par votre application pour isoler le sous-système qui prend le temps maximal d’exécution. Déterminez si une révision de code serait plus utile que le simple réglage de l’environnement BizTalk Server.

Notes

Bien que vous puissiez modifier le niveau de priorité du processus d’une application à l’aide du Gestionnaire des tâches ou d’une invite de commandes, vous devez généralement éviter de le faire.

Goulots d’étranglement de la mémoire

Lors de l’évaluation des goulots d’étranglement liés à la mémoire, tenez compte des allocations inutiles, des propre inefficaces et des mécanismes de mise en cache et de gestion d’état inappropriés. Pour résoudre les goulots d’étranglement liés à la mémoire, optimisez votre code pour éliminer ces problèmes, puis réglez la quantité de mémoire allouée à vos applications. Si vous déterminez pendant le paramétrage que la contention de mémoire et la pagination excessive se produisent, vous devrez peut-être ajouter de la mémoire physique supplémentaire au serveur. Une mémoire insuffisante entraîne une pagination accrue de l’espace d’adressage virtuel d’une application vers et depuis le disque. Si la pagination devient excessive, les E/S disque augmentent et ont un impact négatif sur les performances globales du système.

Vous pouvez avoir un goulot d’étranglement de la mémoire si...

  • La valeur du compteur de performances Mémoire\Octets disponibles est faible, soit en raison de limitations de mémoire système, soit en raison d’une application qui ne libère pas de mémoire. Surveillez la valeur du compteur de performances Process\Working Set pour chaque processus en cours d’exécution. Si la valeur de Process\Working Set reste élevée même si le processus n’est pas actif, cela peut indiquer que le processus ne libère pas de mémoire comme il le devrait.

  • La valeur du compteur de performances Mémoire\Pages/s est élevée. La moyenne de l’entrée Mémoire\Pages/s divisée par la moyenne mémoire\Lectures de page/s donne le nombre de pages par lecture de disque. Cette valeur ne doit généralement pas dépasser cinq pages par seconde. Une valeur supérieure à cinq pages par seconde indique que le système passe trop de temps à paginer et nécessite plus de mémoire (en supposant que l’application a été optimisée).

Compteurs de performances pour mesurer les goulots d’étranglement de la mémoire

Les compteurs de performances suivants doivent être utilisés pour déterminer si votre système rencontre un goulot d’étranglement lié à la mémoire :

  • Mémoire\Octets disponibles

    • Seuil : une valeur cohérente inférieure à 20 à 25 % de la RAM installée indique une mémoire insuffisante.

    • Importance : cela indique la quantité de mémoire physique disponible pour les processus en cours d’exécution sur l’ordinateur. Notez que ce compteur affiche uniquement la dernière valeur observée. Ce n’est pas une moyenne.

  • Mémoire\Lectures de page/s

    • Seuil : les valeurs soutenues supérieures à cinq indiquent un grand nombre d’erreurs de page pour les demandes de lecture.

    • Importance : ce compteur indique que l’ensemble de travail d’un processus est trop volumineux pour la mémoire physique disponible, ce qui entraîne l’accès de la mémoire au disque. Il indique le nombre d’opérations de lecture, sans tenir compte du nombre de pages récupérées dans chaque opération. Les valeurs plus élevées indiquent un goulot d’étranglement de la mémoire.

      Si un faible taux d’opérations de lecture de page coïncide avec des valeurs élevées pour Disque physique\% Temps du disque et Disque physique\Longueur moyenne de la file d’attente de disque, une condition de goulot d’étranglement d’E/S de disque peut exister. Si une augmentation de la longueur de la file d’attente n’est pas accompagnée d’une diminution du taux de lecture des pages, un goulot d’étranglement de la mémoire existe en raison d’une mémoire physique insuffisante.

  • Mémoire\Pages/s

    • Seuil : une valeur soutenue supérieure à cinq indique un goulot d’étranglement.

    • Importance : ce compteur indique la vitesse à laquelle les pages sont lues ou écrites sur le disque pour résoudre les erreurs de page matérielle. Multipliez les valeurs des compteurs de performances Disque physique\Moyenne disque s/Transfert et Mémoire\Pages/s . Si le produit de ces valeurs dépasse 0,1, la pagination utilise plus de 10 % du temps d’accès au disque, ce qui indique que la mémoire physique est insuffisante.

  • Mémoire\Pool Octets non paginés

    • Seuil : surveillez la valeur mémoire\pool octets non paginés pour une augmentation de 10 % ou plus par rapport à sa valeur au démarrage du système.

    • Importance : une augmentation de 10 % ou plus de la valeur au démarrage peut indiquer une fuite de mémoire.

  • Échecs non paginés de serveur\pool

    • Seuil : les valeurs normales non nulles indiquent un goulot d’étranglement.

    • Importance : ce compteur indique le nombre de fois où les allocations du pool non paginé ont échoué. Le pool non paginé contient des pages de l’espace d’adressage virtuel d’un processus qui ne doivent pas être échangées vers le fichier de page sur le disque, par exemple une table d’objets noyau de processus. La disponibilité du pool non paginé détermine le nombre de processus, de threads et d’autres objets de ce type pouvant être créés. Lorsque les allocations du pool non paginé échouent, cela peut être dû à une fuite de mémoire dans un processus, en particulier si l’utilisation du processeur n’a pas augmenté en conséquence.

  • Échecs paginés serveur\pool

    • Seuil : aucune valeur spécifique.

    • Importance : ce compteur indique le nombre de fois où les allocations du pool paginé ont échoué. Une valeur positive pour ce compteur indique que la mémoire physique de l’ordinateur est insuffisante ou que le fichier de pagination Windows est trop petit.

  • Pic non paginé du serveur\pool

    • Seuil : aucune valeur spécifique.

    • Importance : il s’agit du nombre maximal d’octets dans le pool non paginé que le serveur a réservé pour une utilisation à un point donné. Il indique la quantité de mémoire physique que l’ordinateur doit avoir. Étant donné que le pool non paginé doit résider dans la mémoire physique et qu’il doit y avoir de la mémoire restante pour d’autres opérations, en règle générale, la mémoire physique installée sur l’ordinateur doit être 4 fois supérieure à la valeur indiquée pour ce compteur.

  • Mémoire\Octets de cache

    • Seuil : aucune valeur spécifique.

    • Importance : surveille la taille du cache dans différentes conditions de charge. Cette valeur de ce compteur de performances indique la taille du cache des fichiers statiques. Par défaut, ce compteur utilise environ 50 % de la mémoire disponible, mais diminue si la mémoire disponible diminue, ce qui affecte les performances du système.

  • Mémoire\Erreurs de cache/s

    • Seuil : aucune valeur spécifique.

    • Importance : ce compteur indique la fréquence à laquelle le système d’exploitation recherche des données dans le cache du système de fichiers, mais ne parvient pas à les trouver. Cette valeur doit être aussi faible que possible.

  • Cache\MDL Read Hits %

    • Seuil : plus cette valeur est élevée, meilleures sont les performances du cache du système de fichiers. Les valeurs doivent être aussi proches que possible de 100 %.

    • Importance : ce compteur fournit le pourcentage de demandes de lecture mdL (Memory Descriptor List) dans le cache du système de fichiers, où le cache retourne l’objet directement au lieu d’exiger une lecture à partir du disque dur.

  • Processus\Ensemble de travail

    • Seuil : aucune valeur spécifique.

    • Importance : le jeu de travail est l’ensemble de pages mémoire actuellement chargées en mémoire (physique + virtuelle). Si le système dispose de suffisamment de mémoire, il peut conserver suffisamment d’espace dans le jeu de travail afin qu’il n’ait pas besoin d’effectuer des opérations sur disque pour mettre en page la mémoire sur le disque. Toutefois, si la mémoire est insuffisante, le système tente de réduire le jeu de travail en supprimant la mémoire des processus, ce qui entraîne une augmentation des erreurs de page. Lorsque le taux d’erreurs de page augmente, le système tente d’augmenter le jeu de travail du processus. Si vous observez de grandes fluctuations dans le jeu de travail, cela peut indiquer une pénurie de mémoire. Des valeurs plus élevées dans le jeu de travail peuvent également être dues à plusieurs assemblys dans une application. Vous pouvez améliorer le jeu de travail à l’aide d’assemblys partagés dans le Global Assembly Cache.

Résolution des goulots d’étranglement de la mémoire

Si vous déterminez que la mémoire est un goulot d’étranglement dans votre environnement de BizTalk Server, utilisez une ou plusieurs des méthodes suivantes pour résoudre le goulot d’étranglement :

  • Ajustez la quantité de mémoire allouée si vous pouvez contrôler l’allocation. Par exemple, vous pouvez régler cette valeur pour BizTalk Server, ASP.NET et SQL Server.

  • Augmentez la taille du fichier de pagination Windows et suivez les étapes décrites dans la section « Configurer windows PAGEFILE pour des performances optimales » de l’article Optimisation des performances du système d’exploitation.

  • Désactivez les services qui ne sont pas utilisés. L’arrêt des services que vous n’utilisez pas régulièrement permet d’économiser de la mémoire et d’améliorer les performances du système. Pour plus d’informations, consultez la section « Désactiver les services non essentiels » de l’article Optimisation des performances du système d’exploitation.

  • Supprimez les protocoles et pilotes inutiles. Même les protocoles inactifs utilisent de l’espace dans les pools de mémoire paginés et non paginés. Les pilotes consomment également de la mémoire. Vous devez donc supprimer les pilotes inutiles. Pour plus d’informations, consultez la section « Supprimer les protocoles réseau inutiles » de l’article Optimisation des performances du système d’exploitation.

  • Installez une mémoire physique supplémentaire sur les ordinateurs de l’environnement BizTalk Server.

Notes

Sur un système 32 bits, BizTalk peut utiliser un maximum de 2 Go de mémoire, la limite augmente à 3 Go avec BizTalk Server 2010 et versions ultérieures si le commutateur /3 Go est utilisé. Pour plus d’informations sur l’utilisation de la mémoire, consultez Limites de mémoire pour les versions Windows.

Goulots d’étranglement des E/S réseau

Vous pouvez avoir un goulot d’étranglement d’E/S réseau si...

  • La valeur du compteur de performances Interface réseau\Octets total/s dépasse 80 % de la bande passante réseau disponible.

  • La valeur du compteur de performances Server\Bytes Total/s est supérieure à 50 % de la bande passante réseau disponible.

Compteurs de performances pour mesurer les goulots d’étranglement d’E/S réseau

Les compteurs de performances suivants doivent être utilisés pour mesurer les E/S réseau et déterminer si votre système rencontre un goulot d’étranglement lié aux E/S réseau :

  • Interface réseau\Total des octets/s

    • Seuil : valeur soutenue de plus de 80 % de la capacité réseau.

    • Importance : ce compteur indique la vitesse à laquelle les octets sont envoyés et reçus sur chaque carte réseau. Ce compteur permet de déterminer si une carte réseau est saturée et si vous devez ajouter une ou plusieurs cartes réseau pour augmenter la bande passante réseau disponible.

  • Interface réseau\Octets reçus/s

    • Seuil : aucune valeur spécifique.

    • Importance : ce compteur indique la vitesse à laquelle les octets sont reçus sur chaque carte réseau. Utilisez la valeur de ce compteur pour calculer le taux de données entrantes en pourcentage de la bande passante totale disponible. Cela permet de déterminer si la bande passante réseau doit être augmentée sur le client qui envoie des données à BizTalk Server ou si la bande passante réseau doit être augmentée sur l’ordinateur BizTalk Server lui-même.

  • Interface réseau\Octets envoyés/s

    • Seuil : aucune valeur spécifique.

    • Importance : ce compteur indique la vitesse à laquelle les octets sont envoyés sur chaque carte réseau. Utilisez la valeur de ce compteur pour calculer le taux de données sortantes sous la forme d’un pourcentage de la bande passante totale disponible. Cela permet de déterminer si la bande passante réseau doit être augmentée sur le BizTalk Server l’envoi de données à un client ou si la bande passante réseau doit être augmentée sur l’ordinateur client recevant des données de BizTalk Server.

  • Nombre total d’octets de serveur/s

    • Seuil : valeur soutenue de plus de 50 % de la capacité réseau.

    • Importance : ce compteur indique le nombre d’octets envoyés et reçus sur le réseau. Des valeurs plus élevées indiquent un goulot d’étranglement d’E/S réseau. Si la somme du total d’octets/s pour tous les serveurs est à peu près égale au taux de transfert maximal de votre réseau, envisagez de sous-réseaur le réseau pour améliorer les performances. Pour plus d’informations sur le sous-réseau d’un réseau afin d’améliorer les performances, consultez la section Sous-réseaux de l’optimisation de base de données BizTalk Server.

Résolution des goulots d’étranglement d’E/S réseau

Si vous déterminez que les E/S réseau constituent un goulot d’étranglement dans votre environnement, utilisez une ou plusieurs des méthodes suivantes pour résoudre le goulot d’étranglement :

Voir aussi

Recherche et suppression des goulots d’étranglement