Préconfiguration pour les optimisations de base de données BizTalk Server
BizTalk Server est une application extrêmement gourmande en base de données qui peut nécessiter la création de jusqu’à 13 bases de données distinctes dans Microsoft SQL Server. En raison du rôle essentiel que joue SQL Server dans n’importe quel environnement BizTalk Server, il est primordial que SQL Server soit configuré/paramétré pour des performances optimales. Si SQL Server n’est pas réglé pour fonctionner correctement, les bases de données utilisées par BizTalk Server deviennent un goulot d’étranglement et les performances globales de l’environnement BizTalk Server en souffriront. Cette rubrique décrit plusieurs optimisations des performances SQL Server qui doivent être suivies avant d’installer BizTalk Server et de configurer les bases de données BizTalk Server.
Définir l’unité d’allocation de fichiers NTFS
SQL Server stocke ses données dans les extensions, qui sont des groupes de huit pages de 8 Ko. Par conséquent, pour optimiser les performances du disque, définissez la taille de l’unité d’allocation NTFS sur 64 Ko, comme décrit dans le guide de SQL Server sur « Meilleures pratiques de configuration de disque - Meilleures pratiques d’E/S de prédéploiement. Pour plus d’informations sur SQL Server pages et les extensions, consultez Présentation des pages et des extensions.
Considérations relatives à la planification de la base de données
Microsoft vous recommande d’héberger vos bases de données SQL Server sur un stockage rapide (par exemple, des disques SAN rapides ou des disques SCSI rapides). Microsoft recommande RAID 10 (1+0) au lieu de RAID 5, car RAID 5 est plus lent à l’écriture. Les disques SAN les plus récents ont des caches de mémoire très volumineux. Dans ce cas, la sélection RAID n’est donc pas aussi importante. Pour améliorer les performances, les bases de données et leurs fichiers journaux peuvent résider sur différents disques physiques.
Installez la dernière version du Service Pack et les mises à jour cumulatives pour SQL Server
Installez les derniers Service Packs et les dernières mises à jour cumulatives pour SQL Server 2005 et SQL Server 2008, ainsi que les derniers Service Packs .NET Framework.
Installer les Service Packs SQL sur les BizTalk Server et les SQL Server
Lors de l’installation des Service Packs pour SQL Server, installez également le Service Pack sur l’ordinateur BizTalk Server. BizTalk Server utilise des composants SQL Client qui sont mis à jour par les Service Packs SQL Server.
Envisagez d’implémenter le collecteur et la gestion des données SQL Server 2008 Data Warehouse
SQL Server 2008 permet d’utiliser les nouveaux Data Warehouse de collecte et de gestion des données pour collecter des données relatives aux performances de l’environnement/de la base de données à des fins de test et d’analyse des tendances. Le collecteur de données conserve toutes les données collectées dans le Data Warehouse de gestion spécifié. Bien qu’il ne s’agit pas d’une optimisation des performances, cela sera utile pour l’analyse des problèmes de performances éventuels.
Accordez le compte utilisé pour SQL Server le privilège Windows Lock Pages In Memory
Accordez le privilège Windows « Verrouiller les pages en mémoire » au compte de service SQL Server. Cette opération doit être effectuée pour empêcher le système d’exploitation Windows de paginer la mémoire du pool de mémoires tampons du processus SQL Server en verrouillant la mémoire allouée au pool de mémoires tampons dans la mémoire physique. Pour plus d’informations, consultez l’article de la Base de connaissances Microsoft 914483 « Comment réduire la pagination de la mémoire du pool de mémoires tampons dans la version 64 bits de SQL Server 2005 » à l’adresse https://go.microsoft.com/fwlink/?LinkId=148948.
Accorder au SE_MANAGE_VOLUME_NAME droit au compte de service SQL Server
Vérifiez que le compte exécutant le service SQL Server dispose du privilège Windows « Effectuer des tâches de maintenance en volume » ou vérifiez qu’il appartient à un groupe de sécurité qui le fait. Cela permet l’initialisation instantanée des fichiers, garantissant des performances optimales si une base de données doit croître automatiquement.
Définir la mémoire minimale et maximale du serveur
Les ordinateurs exécutant SQL Server qui hébergent les bases de données BizTalk Server doivent être dédiés à l’exécution de SQL Server. Nous vous recommandons de définir les options « mémoire minimale du serveur » et « mémoire maximale du serveur » sur chaque SQL Server instance pour spécifier la quantité fixe de mémoire à allouer à SQL Server. Dans ce cas, vous devez définir « mémoire minimale du serveur » et « mémoire maximale du serveur » sur la même valeur (égale à la quantité maximale de mémoire physique que SQL Server utiliserez). Cela permet de réduire la surcharge qui serait autrement utilisée par SQL Server la gestion dynamique de ces valeurs. Exécutez les commandes T-SQL suivantes sur chaque ordinateur SQL Server pour spécifier la quantité fixe de mémoire à allouer à SQL Server :
sp_configure ‘Max Server memory (MB)’,(max size in MB)
sp_configure ‘Min Server memory (MB)’,(min size in MB)
Avant de définir la quantité de mémoire pour SQL Server, déterminez le paramètre de mémoire approprié en soustrayant la mémoire requise pour Windows Server de la mémoire physique totale. Il s’agit de la quantité maximale de mémoire que vous pouvez affecter à SQL Server.
Notes
Si le ou les ordinateurs exécutant SQL Server qui hébergent les bases de données BizTalk Server hébergent également le serveur secret Sign-On principal d’entreprise, vous devrez peut-être ajuster cette valeur pour vous assurer qu’il y a suffisamment de mémoire disponible pour exécuter le service de Sign-On unique d’entreprise. Il n’est pas rare d’exécuter un instance cluster du service enterprise single Sign-On sur un cluster SQL Server afin de fournir une haute disponibilité au serveur secret principal. Pour plus d’informations sur clustering le serveur secret principal Sign-On d’entreprise, consultez la rubrique « Comment mettre en cluster le serveur secret maître » dans la documentation BizTalk Server à l’adresse https://go.microsoft.com/fwlink/?LinkID=106874.
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
Il est essentiel de s’assurer que les fichiers de données utilisés pour tempdb sont de taille égale, car l’algorithme de remplissage proportionnel utilisé par SQL Server est basé sur la taille des fichiers de données. Cet algorithme tente de s’assurer que SQL Server remplit chaque fichier en proportion de l’espace libre restant dans ce fichier afin qu’ils atteignent leur capacité maximale à peu près en même temps. Si des fichiers de données sont créés avec des tailles inégales, l’algorithme de remplissage proportionnel utilise davantage le fichier le plus volumineux pour les allocations GAM au lieu de répartir les allocations entre tous les fichiers, ce qui va à l’encontre de l’objectif de créer plusieurs fichiers de données. Le nombre de fichiers de données de la base de données tempdb doit être configuré pour être au moins égal au nombre de processeurs affectés pour SQL Server.
Activez l’indicateur de trace T1118 comme paramètre de démarrage pour toutes les instances de SQL Server
Si vous implémentez l’indicateur de trace - T1118 permet de réduire les conflits entre les instances SQL Server en supprimant presque toutes les allocations de pages uniques. Pour plus d’informations, consultez Microsoft Knowledge Base 328551 - Améliorations de la concurrence pour la base de données tempdb.
Ne modifiez pas les paramètres de SQL Server par défaut pour le degré maximal de parallélisme, les statistiques SQL Server ou les reconstructions et défragmentations d’index de base de données
Si vous avez un SQL Server instance qui héberge des bases de données BizTalk Server, ne modifiez pas les paramètres de SQL Server pour le degré maximal de parallélisme, les statistiques SQL Server sur la base de données MessageBox et les paramètres pour la reconstruction et la défragmentation de l’index de la base de données. Pour plus d’informations, consultez paramètres SQL Server qui ne doivent pas être modifiés.