Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : SQL Server
Cet article explique comment résoudre la dégradation des performances en raison d’opérations d’E/S mal alignées dans SQL Server lorsque la taille du secteur physique diffère entre les lecteurs de disque.
Aperçu
SQL Server peut rencontrer des opérations d’E/S mal alignées lorsque la taille du secteur physique des lecteurs de disque diffère entre les serveurs ou les systèmes de stockage. Cette condition peut dégrader les performances et est particulièrement courante dans les environnements où les incompatibilités de taille du secteur sont évidentes, telles que :
- Machines virtuelles avec stockage attaché
- Groupes de disponibilité Always On
- Copie des journaux de transaction
- Migrations matérielles
Par exemple, un problème courant se produit lorsque le serveur principal utilise une taille de secteur de 4 Ko tandis que le serveur secondaire utilise 512 octets. Ce problème provoque des opérations d’E/S mal alignées pendant les processus de synchronisation ou de restauration des journaux. Cette erreur d’alignement peut entraîner une dégradation des performances, par exemple des restaurations lentes ou des retards de synchronisation.
L’indicateur de trace 1800 garantit que SQL Server utilise une taille de secteur de 4 Ko cohérente pour les opérations d’E/S du journal des transactions, quelle que soit la taille du secteur physique du disque sous-jacent. Cet indicateur de trace est conçu pour maintenir les performances dans des environnements mixtes où les serveurs ont peut-être été mis à niveau ou migrés vers du matériel avec différentes spécifications de stockage.
Pour les bases de données avec des charges de travail nécessitant beaucoup d’écriture, l’alignement des opérations d’E/S peut considérablement améliorer les performances, tandis que les avantages peuvent être négligeables dans les environnements gourmands en lecture.
Symptômes
Vous pouvez rencontrer une dégradation des performances dans SQL Server en raison d’opérations d’E/S mal alignées si vous rencontrez l’un des symptômes suivants :
Durées de synchronisation ou de restauration lentes : les opérations d’E/S mal alignées peuvent entraîner des temps de synchronisation ou de restauration lents, en particulier dans les environnements SQL Server distribués, tels que les groupes de disponibilité Always On ou la copie des journaux de transaction.
Messages d’erreur dans le journal des erreurs SQL Server : les messages d’erreur liés aux opérations d’E/S peuvent indiquer des problèmes de non-alignement, tels que :
There have been # misaligned log IOs which required falling back to synchronous IO.Goulots d’étranglement des performances pendant les opérations nécessitant beaucoup d’écriture : les opérations intensives en écriture, telles que les sauvegardes de journaux ou les restaurations de bases de données, peuvent rencontrer une latence élevée des E/S et augmenter les temps d’attente d’E/S en raison d’opérations d’E/S mal alignées, ce qui entraîne des goulots d’étranglement des performances et des temps de réponse lents.
Vérifier la taille du secteur
Pour éviter les opérations d’E/S mal alignées, il est important de s’assurer que la taille du secteur physique des lecteurs de disque est cohérente sur tous les serveurs et systèmes de stockage.
Vous pouvez vérifier la taille du secteur en exécutant la commande suivante dans une invite de commandes avec élévation de privilèges :
fsutil fsinfo sectorinfo <volume path name>
La capture d’écran suivante montre la sortie de la fsutil fsinfo sectorinfo commande pour le E: lecteur, qui a une taille de secteur de 8 Ko, mais une taille de secteur physique de 4 Ko, provoquant des opérations d’E/S mal alignées :
Solution
Si vous rencontrez une dégradation des performances en raison d’opérations d’E/S mal alignées et que vous ne pouvez pas modifier votre taille de secteur, vous pouvez utiliser l’indicateur de trace 1800 comme paramètre de démarrage global pour forcer SQL Server à utiliser une taille de secteur cohérente de 4 Ko pour les opérations d’E/S du journal des transactions.
Pour activer l’indicateur de trace 1800 en tant que paramètre de démarrage, procédez comme suit :
Sur le système où SQL Server est installé et qu’il existe une incompatibilité de taille de secteur physique, ouvrez le Gestionnaire de configuration SQL Server.
Développez Gestionnaire de configuration SQL Server (local) et sélectionnez SQL Server Services.
Cliquez avec le bouton droit sur l’instance SQL Server que vous souhaitez configurer et sélectionnez Propriétés :
Dans Propriétés de SQL Server, sélectionnez l’onglet Paramètres de démarrage, entrez
-T1800dans le champ Spécifier un paramètre de démarrage, puis sélectionnez Ajouter pour ajouter le paramètre à la liste.
Vérifiez que votre indicateur de trace a été ajouté à la liste des paramètres de démarrage. Sélectionnez OK pour enregistrer vos modifications :
Redémarrez le service SQL Server pour activer l’indicateur de trace au démarrage de votre instance.
Note
L’indicateur de trace 1800 peut également être activé sur les systèmes avec une taille de secteur de 4 Ko sans impact négatif sur les performances.