Partager via


Observations et recommandations

Résumé des résultats des tests

Les résultats du scénario Messagerie uniquement ont été observés à ~ 109 382 400 messages par jour. Pour le scénario d’orchestration, les résultats indiquent qu’un seul ordinateur exécutant BizTalk Server peut traiter jusqu’à 58 752 000 messages par jour. Ces résultats ont été obtenus dans un environnement bac à sable à l’aide d’un matériel d’entreprise normal déployé pour de nombreuses solutions BizTalk Server. Par conséquent, ces résultats indiquent le type de BizTalk Server performances de qui peuvent être obtenues sans code personnalisé. Les solutions client impliquent souvent des artefacts BizTalk personnalisés ; dans de nombreux cas, cela augmente les exigences de traitement, ce qui affecte à son tour les performances. En suivant les conseils présentés dans ce guide, en particulier la section Optimisation des applications BizTalk Server, l’impact de l’implémentation d’artefacts de BizTalk Server personnalisés peut être réduit.

Le tableau suivant fournit un résumé des résultats des tests pour cette évaluation des performances.

Scénario Messagerie (Indicateur de performance clé BizTalk – Documents traités par seconde) Messagerie (KPI SQL – Utilisation du processeur SQL) Latence de messagerie (secondes) Orchestration (indicateur de performance clé BizTalk – Documents traités par seconde) Orchestration (KPI SQL – Utilisation du processeur SQL) Latence de l’orchestration (secondes)
Ordinateur BizTalk Server MessageBox 1 unique 1266 documents traités par seconde 59 % d’utilisation du processeur SQL 0,06 680 documents traités par seconde Utilisation du processeur SQL à 66,5 % 0.067
Ordinateurs BizTalk Server message unique 2 1267 documents traités par seconde Utilisation du processeur SQL à 59,8 % 0,057 686 documents traités par seconde 68,5 % d’utilisation du processeur SQL 0.067
3 MessageBox 1 BizTalk Server ordinateurs 2102 documents traités par seconde 41 % d’utilisation du processeur SQL 0,077 974 documents traités par seconde 48 % d’utilisation du processeur SQL 0.11
3 MessagesBox 2 BizTalk Server ordinateurs 2285 documents traités par seconde 58 % d’utilisation du processeur SQL 0,041 1 065 documents traités par seconde Utilisation du processeur SQL à 65 % 0..69
4 MessageBoxes 1 BizTalk Server ordinateurs 2125 documents traités par seconde 30 % d’utilisation du processeur SQL 0.078 979 documents traités par seconde 37 % d’utilisation du processeur SQL 0.095
4 MessageBoxes 2 BizTalk Server ordinateurs 2790 documents traités par seconde 50 % d’utilisation du processeur SQL 0,052 1487 documents traités par seconde 63 % d’utilisation du processeur SQL 0.15
4 MessageBoxes 3 BizTalk Server ordinateurs 2656 documents traités par seconde 58 % d’utilisation du processeur SQL 0,074 1388 documents traités par seconde Utilisation du processeur SQL à 65 % 0.15

Comparaison des statistiques de performances avec BizTalk Server 2009

Le tableau suivant présente une comparaison des statistiques de performances entre BizTalk Server 2009 et BizTalk Server 2010. Les statistiques de performances BizTalk Server 2009 répertoriées dans ce tableau proviennent du Guide de performances et d’optimisation BizTalk Server 2009.

Scénario BizTalk Server 2009
Débit maximal durable (MST) msgs/s
BizTalk Server 2009
Nombre de serveurs BizTalk nécessaires
BizTalk Server 2010
Débit maximal durable (MST) msgs/s
BizTalk Server 2010
Nombre de serveurs BizTalk nécessaires
BizTalk Server différence de 2010 % par rapport à BizTalk Server 2009
Messagerie - MessageBox unique 1291 2 1266 1 98.06%
Orchestration - MessageBox unique 676 2 680 1 100.59%
Messagerie - 3 MessageBoxes 2103 3 2285 2 (2102/s avec 1 BTS) 108.65%
Messagerie - 4 MessageBoxes Non applicable Non applicable 2790 2 Non applicable
Orchestration - 3 MessageBoxes 1005 4 1065 2 (974/s avec 1 BTS) 105.97%
Orchestration - 4 MessageBoxes Non applicable Non applicable 1487 2 Non applicable

Dans notre environnement de laboratoire, lors de l’utilisation de quatre bases de données MessageBox, les résultats du débit durable maximal étaient les suivants :

  • Pour le scénario de messagerie, 2790 documents par seconde.

  • Pour le scénario d’orchestration, 1487 documents par seconde.

    Considérations relatives aux messages Bien que BizTalk Server n’impose aucune restriction sur la taille des messages, les tests que nous avons exécutés pour BizTalk Server 2010 utilisaient des messages de 2 Ko uniquement et le type d’adaptateur WCF utilisé était WCF-NetTCP adaptateur. Cela correspond à la taille de message et au type d’adaptateur utilisés dans le test du Guide d’optimisation des performances BizTalk Server 2009.

    Les facteurs d’amélioration des performances sont les suivants :

  1. Avancées matérielles - Les ordinateurs SQL Server utilisés dans notre laboratoire étaient 4 processeurs, quatre cœurs (16 cœurs), Intel Xeon E7330 à 2,40 GHz. Dans les tests de 2009, 4 processeurs, quatre cœurs (16 cœurs), Intel Xeon 2,4 GHz ont été utilisés.

    Les ordinateurs BizTalk Server utilisés dans notre laboratoire étaient 2 processeurs, quatre cœurs (8 cœurs), Nehalem Hyper-Threaded (16 cœurs logiques), Intel Xeon X5570 à 2,93 GHz. Dans les tests de 2009, 2 processeurs, quatre cœurs (8 cœurs), Intel Xeon 2,33 GHz ont été utilisés.

  2. Amélioration du moteur SQL Server : les tests de 2009 ont été effectués par rapport à SQL Server 2008, tandis que nos tests ont été effectués avec SQL Server 2008 R2 comme plateforme de base de données sous-jacente.

Recommandations relatives à la mise à l’échelle des niveaux BizTalk Server et SQL Server

Grâce à ces résultats, l’équipe produit BizTalk Server a pu démontrer qu’un seul ordinateur BizTalk Server et un seul ordinateur SQL Server peuvent prendre en charge plus de 109 millions de messages dans un scénario de messagerie et 58 millions d’orchestrations sur une période de 24 heures. En mettant à l’échelle les niveaux BizTalk Server et SQL vers la configuration optimale disponible dans notre environnement, nous avons pu traiter plus de 241 millions de messages par jour et plus de 128 millions d’orchestrations. Les résultats ont été effectués dans un environnement bac à sable à l’aide de la classe de matériel déployée dans de nombreuses entreprises. Comme indiqué précédemment, ces nombres représentent des performances réalistes de BizTalk Server qui peuvent être obtenues sans code personnalisé et un environnement optimisé. Avec du matériel supplémentaire, il est possible que des performances encore plus élevées aient été obtenues. Les solutions client impliquent souvent des artefacts BizTalk personnalisés qui entraînent des exigences de traitement supplémentaires, ce qui augmente l’utilisation des ressources et, à son tour, réduit les performances globales. Toutefois, en suivant les conseils décrits tout au long du guide, en particulier les recommandations de l’article Optimisation des applications BizTalk Server, l’impact de cette opération peut être réduit au minimum.

Les résultats montrent que le scale-out du nombre d’ordinateurs BizTalk Server est une stratégie de scale-out efficace si l’ordinateur MessageBox SQL Server n’est pas un goulot d’étranglement. Après un certain point, nos résultats indiquent que l’ajout d’ordinateurs BizTalk Server devient une technique de scale-out inefficace, car nous avons observé qu’un point de conflit s’est produit sur les tables partagées au sein de la base de données MessageBox, ce qui a entraîné une diminution des performances. Pour optimiser les résultats qui peuvent être obtenus à partir d’un groupe BizTalk Server avec une base de données MessageBox unique, vous devez appliquer les optimisations décrites dans Optimisation des performances de la base de données. En particulier, vous devez vous assurer qu’un sous-système de stockage rapide est utilisé pour le stockage SQL Server et que les disques logiques utilisés par SQL Server pour stocker les fichiers de base de données MessageBox répondent dans les plus brefs délais. Un seuil couramment utilisé pour mesurer les performances acceptables en lecture/écriture est de 15 millisecondes ; Généralement, cela est mesuré par les compteurs Avg. Disk sec/Read et Avg. Disk sec/Write qui se trouvent sous l’objet de performances Disque logique. Une fois que toutes les optimisations disponibles ont été appliquées à l’ordinateur SQL Server qui héberge la base de données MessageBox, des bases de données MessageBox supplémentaires peuvent être ajoutées. Les mêmes techniques d’optimisation que celles appliquées à la base de données MessageBox primaire doivent également être appliquées aux bases de données secondaires. Nous vous recommandons de suivre les instructions décrites dans Scale Out du niveau SQL Server (https://go.microsoft.com/fwlink/?LinkID=158075) de la documentation BizTalk Server.

Pour obtenir des résultats optimaux, l’ensemble de la pile matérielle et logicielle doit être de qualité appropriée et également configuré correctement. Tout d’abord, un matériel de bonne qualité doit être acheté, y compris, mais sans s’y limiter, la mise en réseau gigabit, le stockage rapide (disques SAN ou SQL locaux de 15 K) et les ordinateurs modernes qui ont plusieurs processeurs avec plusieurs cœurs par processeur. L’ordinateur SQL Server doit être dédié au traitement BizTalk Server uniquement. Lors de l’exécution d’un seul ordinateur SQL Server, nous vous recommandons de créer deux instances de SQL, une pour BizTalk MessageBox et une pour toutes les autres bases de données. Cela permet de configurer des paramètres à l’échelle de instance pour optimiser les performances de MessageBox. Les optimisations recommandées dans Optimisation des performances doivent être appliquées étape par étape dans l’ordre suivant : Optimisation des performances du système d’exploitation, Optimisation des performances réseau, Optimisations de base de données de préconfiguration2, Optimisations de base de données post-configuration2 et Optimisationsgénérales des BizTalk Server 1. La création de groupes de fichiers dédiés pour la base de données MessageBox et leur allocation entre les LUN SAN, comme décrit dans Optimisation des groupes de fichiers pour les bases de données2, peut apporter une amélioration considérable des performances en fonction de votre configuration SAN et de la disposition des LUN.

Pour déterminer efficacement comment mettre à l’échelle le niveau BizTalk Server ou SQL, nous vous recommandons d’effectuer des tests de charge à l’aide de messages qui se rapprochent des données de production réelles. Avant de mettre à l’échelle le niveau BizTalk Server, assurez-vous que SQL Server n’est pas déjà un goulot d’étranglement, comme recommandé dans Surveillance SQL Server performances. Si SQL Server n’est pas un goulot d’étranglement et qu’il existe une marge de travail sur l’un des ordinateurs BizTalk Server, vous pouvez améliorer le débit en modifiant la disposition de votre instance hôte. Il est important d’établir quatre ou cinq indicateurs de performance clés (KPI), qui sont utilisés comme points de comparaison de haut niveau pour toutes les séries de tests. En suivant ces conseils, vous serez en mesure d’évaluer rapidement si un changement particulier a dégradé les performances globales de la solution.

Avant d’effectuer un scale-out du niveau SQL Server, appliquez toutes les optimisations dans Optimisation des performances de la base de données. Au cours des laboratoires de performances des clients, l’observation a été que la configuration du stockage sur disque pour les bases de données MessageBox et TempDb en particulier peut fournir une amélioration du débit de plus de 30 %. Lors de la mise à l’échelle vers plusieurs bases de données MessageBox, trois et quatre bases de données MessageBox ont été utilisées, car il existe peu d’avantages en matière de performances lors de la mise à l’échelle d’une base de données MessageBox unique vers deux bases de données MessageBox. Pour plus d’informations sur le scale-out du BizTalk Server MessageBox, consultez Scale Out the SQL Server Tier (https://go.microsoft.com/fwlink/?LinkID=158075) dans la documentation BizTalk Server.

Optimisations implémentées

Cette section fournit une liste de contrôle de toutes les optimisations qui ont été appliquées pour les scénarios de test de laboratoire.

Notes

Celles-ci doivent être testées conformément à vos procédures de gestion des modifications avant de les appliquer dans votre environnement de production.

L’application des optimisations de manière systématique et contrôlée (en appliquant un ensemble d’optimisations, puis en testant l’impact) se traduira par l’avantage maximal en termes de performances. L’application d’optimisations sans tester régulièrement l’impact des optimisations peut effectivement entraîner une dégradation des performances de la solution.

Listes de contrôle des optimisations appliquées

Optimisations de la plateforme et du réseau

Optimisation Référence
BIOS : configurez les paramètres pour les performances. Optimisation des performances du système d’exploitation
Désactivez l’analyse en temps réel sur SQL Server fichiers. Optimisation des performances du système d’exploitation
Activez le plan d’alimentation « Hautes performances » sur tous les ordinateurs BizTalk Server et SQL Server. Instructions générales pour améliorer les performances du système d’exploitation
Désactivez l’antivirus sur tous les ordinateurs BizTalk Server et SQL Server. Instructions générales pour améliorer les performances du système d’exploitation

Optimisations SQL Server : Général

Optimisation Référence
Définissez l’unité d’allocation de fichiers NTFS sur 64 Ko. Optimisations de base de données de préconfiguration2
Installez SQL Server 2008 R2. Optimisations de base de données de préconfiguration2
Configurez SQL Server 2008 R2 Data Collector/Warehouse. Optimisations de base de données de préconfiguration2
Vérifiez que les privilèges Windows appropriés ont été étendus aux comptes de service SQL Server. SQL Server 2008 R2 : Configuration des comptes de service Windows (https://go.microsoft.com/fwlink/?LinkID=132144)
Définissez la mémoire minimale et maximale du serveur pour SQL Server. Optimisations de base de données de préconfiguration2
Accordez le privilège Pages de verrouillage Windows en mémoire au compte utilisé pour SQL Server. Optimisations de base de données de préconfiguration2
Prédimensionner les bases de données BizTalk Server à la taille appropriée avec plusieurs fichiers de données. Optimisations de base de données post-configuration2
Configurez SQL Server protocoles client. Résolution des problèmes SQL Server (https://go.microsoft.com/fwlink/?LinkID=154250)
Fractionnez la base de données tempdb en plusieurs fichiers de données de taille égale sur chaque SQL Server instance utilisé par BizTalk Server Optimisations de base de données de préconfiguration2
Définir manuellement SQL Server affinité de processus Optimisations de base de données de préconfiguration2
Configurer MSDTC et désactiver le suivi DTC Optimisations de base de données de préconfiguration2
Activez l’indicateur de trace T1118 comme paramètre de démarrage pour toutes les instances de SQL Server Optimisations de base de données de préconfiguration2

Optimisations SQL Server : bases de données BizTalk

Optimisation Référence
Définissez croissance automatique des bases de données BizTalk sur une valeur fixe et non sur une valeur de pourcentage. Optimisations de base de données post-configuration2
Déplacez/fractionnez des données de base de données BizTalk et des fichiers journaux vers des LUN distincts. Optimisations de base de données post-configuration2
Envisagez de définir l’option de table « texte dans la ligne » sur des tables de base de données MessageBox spécifiques Optimisations de base de données post-configuration2

Optimisations BizTalk

Optimisation Référence
Séparez les ports de réception, les ports d’envoi, les orchestrations et le suivi sur des hôtes dédiés distincts. Optimisations BizTalk Server générales1
Configurez les intervalles d’interrogation. Optimisations des scénarios à faible latence2
Ajustez la propriété de connexion maximale du fichier de configuration BizTalk. Section « Augmenter le nombre de connexions simultanées SOAP et HTTP autorisées en modifiant la valeur du paramètre maxconnection » de General BizTalk Server Optimizations1
Définissez les paramètres d’hébergement CLR pour chaque instance hôte sur chaque nœud BizTalk Server :

Nombre maximal de threads d’E/S : 250

Nombre maximal de threads de travail : 100

Threads d’E/S minimum : 25

Threads de travail minimum : 25
Section « Définir des valeurs de thread d’hébergement CLR pour les instances d’hôte BizTalk » de General BizTalk Server Optimizations1
Augmentez la taille des messages in-process et de la file d’attente des messages internes à 10 000. Optimisations des scénarios à faible latence2
Désactivez BizTalk Server suivi au niveau du groupe. Optimisations BizTalk Server générales1
Gérer le nombre de demandes en cours d’exécution simultanée pour ASP.NET 4 applications web qui peuvent héberger des emplacements reçus isolés, des services Web principaux et des services WCF sur IIS 7.5 et IIS 7.0 exécutés en mode intégré Optimisations BizTalk Server générales1
Désactiver BizTalk Server limitation de l’hôte Optimisations BizTalk Server générales1
Configurer MSDTC et désactiver le suivi DTC Optimisations BizTalk Server générales1

Optimisations de configuration WCF

Optimisation Référence
Pour chaque service WCF, appliquez le comportement du service serviceThrottling et définissez maxConcurrentCalls et maxConcurrentSessions sur 200. Optimisation des performances de l’adaptateur WCF de BizTalk Server
Configurez l’utilisation du comportement serviceThrottling dans le fichier de configuration du service WCF principal. Optimisation des performances du service web WCF

Voir aussi

Mise à l’échelle d’un environnement BizTalk Server de production