VENTES: 1-800-867-1389

Meilleures pratiques relatives aux performances de SQL Server sur les machines virtuelles Azure

Mis à jour: juin 2014

Lorsque vous exécutez SQL Server dans les machines virtuelles Azure, nous vous recommandons de continuer à utiliser les mêmes options de réglage des performances de base de données qui s'appliquent à SQL Server dans un environnement serveur sur site. Toutefois, les performances d'une base de données relationnelle dans un cloud public dépendent de nombreux facteurs, comme la taille de la machine virtuelle et la configuration des disques de données.

Cette rubrique fournit les meilleures pratiques pour optimiser les performances de SQL Server dans les machines virtuelles Azure.

Remarque importante : pour des informations complètes, consultez le livre blanc Guide des performances pour SQL Server dans des ordinateurs virtuels Azure.

Voici une liste de vérification rapide que vous pouvez utiliser :

  • Utiliser le niveau standard minimum A2 pour les machines virtuelles SQL Server.

  • Conserver le compte de stockage et la machine virtuelle SQL Server dans la même région.

  • Désactiver la géo-réplication Azure sur le compte de stockage.

  • Éviter d'utiliser le système d'exploitation ou les disques temporaires pour le stockage ou la journalisation des bases de données.

  • Éviter d'utiliser les options de mise en cache des disques de données Azure (aucune stratégie de mise en cache).

  • Agréger plusieurs disques de données Azure pour obtenir un débit d'E/S plus élevé.

  • Mettre en forme avec les tailles d'allocation documentées.

  • Séparer les chemins d'accès aux E/S de fichiers de données et journal pour obtenir les opérations d'E/S par seconde pour les données et le journal.

  • Activer la compression de page de base de données.

  • Activer l'initialisation de fichiers instantanée pour les fichiers de données.

  • Limiter ou désactiver la croissance automatique sur la base de données.

  • Désactiver la réduction automatique sur la base de données.

  • Déplacer toutes les bases de données vers des disques de données, y compris les bases de données système.

  • Déplacer les répertoires des journaux d'erreurs et des fichiers de trace SQL Server vers des disques de données.

  • Appliquer des correctifs de performances SQL Server.

  • Définir les emplacements par défaut.

  • Activer les pages verrouillées.

  • Sauvegarder directement dans le stockage d'objets blob.

Pour plus d'informations, suivez les instructions fournies dans les sous-sections suivantes.

Pour les applications sensibles aux performances, il est recommandé d'utiliser les tailles de machine virtuelle suivantes :

  • SQL Server Enterprise Edition : niveau standard A3 ou supérieur

  • SQL Server Standard Edition : niveau standard A2 ou supérieur

Pour obtenir des informations actualisées sur les tailles de machine virtuelle prises en charge, consultez Tailles de machine virtuelle et de service cloud pour Azure.

Par ailleurs, nous vous recommandons de créer votre compte de stockage Azure dans le même centre de données que vos machines virtuelles SQL Server afin de réduire les délais de transfert. Lors de la création d'un compte de stockage, désactivez la géo-réplication, étant donné que la cohérence de l'ordre d'écriture sur différents disques n'est pas garantie. Envisagez plutôt de configurer une technologie de récupération d'urgence de SQL Server entre deux centres de données Azure. Pour plus d'informations, consultez Haute disponibilité et récupération d'urgence pour SQL Server sur des machines virtuelles Azure.

Lorsque vous créez une machine virtuelle Azure, la plateforme attachera au moins un disque à la machine virtuelle en tant que disque de système d'exploitation. Ce disque est un disque dur virtuel (VHD) stocké en tant qu'objet blob de pages dans le stockage. Vous pouvez également attacher des disques supplémentaires à votre machine virtuelle en tant que disques de données ; ces disques seront également stockés en tant qu'objets blob de pages. Il existe un autre disque dans les machines virtuelles Azure, appelé « disque temporaire ». C'est un disque du nœud qui peut être utilisé comme un espace de travail temporaire.

Un disque de système d'exploitation est un disque dur virtuel (VHD) que vous pouvez amorcer et monter comme version d'exécution d'un système d'exploitation. Il est désigné par la lettre de lecteur C.

La stratégie de mise en cache par défaut sur le disque du système d'exploitation est Read/Write. Pour les applications sensibles aux performances, nous vous recommandons d'utiliser le disque de données au lieu du disque du système d'exploitation. Attachez un ou plusieurs disques de données à votre machine virtuelle sans modifier la stratégie de mise en cache par défaut, qui est None pour les disques de données.

Le disque de stockage temporaire, désigné par le lecteur D:, n'est pas persistant dans le stockage d'objets blob Azure. Ne stockez pas vos données ni fichiers journaux sur le lecteur D: .

Stockez uniquement tempdb et/ou les extensions du pool de mémoires tampons sur le lecteur D quand vous utilisez les machines virtuelles de la série D. Contrairement aux autres séries de machines virtuelles, le lecteur D des machines virtuelles de la série D est basé sur SSD. Cela peut améliorer les performances des charges de travail qui utilisent intensivement les objets temporaires ou qui disposent de plages de travail qui ne tiennent pas en mémoire. Pour plus d'informations, consultez Using SSDs in Azure VMs to store SQL Server TempDB and Buffer Pool Extensions.

  • Nombre de disques de données : Pour les applications sensibles au débit, nous vous recommandons d'attacher le nombre maximal de disques autorisé par la taille de la machine virtuelle. Remarque : l'ajout de disques de données n'améliorera pas la latence si votre charge de travail se trouve bien dans la limite maximale des opérations d'E/S par seconde.

    Pour plus d'informations sur le nombre maximal d'opérations d'E/S par seconde par disque, consultez Tailles de machine virtuelle et de service cloud pour Azure.

  • Stratégie de mise en cache : sur le disque de données, les mises en cache de lecture et d'écriture sont désactivées par défaut. Utilisez ce paramètre par défaut et n'activez pas la mise en cache sur le disque de données. Pour plus d'informations sur la mise en cache du disque, consultez Gérer les disques et les images.

    Pour obtenir des instructions sur la configuration de la mise en cache du disque, consultez les rubriques suivantes : Set-AzureOSDisk, Set-AzureDataDisk et Gestion des machines virtuelles avec les applets de commande Azure PowerShell.

  • Taille d'unité d'allocation NTFS : Lors de la mise en forme du disque de données, il est recommandé d'utiliser une taille d'unité d'allocation de 64 Ko pour les fichiers de données et les fichiers journaux ainsi que tempdb.

  • Agrégation de disques : Nous vous recommandons de suivre ces instructions :

    • Pour Windows 8/Windows Server 2012 ou version ultérieure, utilisez des espaces de stockage. Définissez la taille de bande sur 64 Ko pour les charges de travail OLTP et sur 256 Ko pour les charges de travail d'entrepôt, afin d'éviter qu'un alignement incorrect de la partition n'affecte les performances. Définissez également column count = number of physical disks. Pour plus d'informations sur la configuration des espaces de stockage, consultez la rubrique relative aux applets de commande des espaces de stockage dans Windows PowerShell.

    • Pour Windows 2008 R2 ou version antérieure, vous pouvez utiliser des disques dynamiques (volumes agrégés de système d'exploitation). La taille de bande restera 64 Ko. Remarque : cette option est déconseillée à partir des versions Windows 8/Windows Server 2012. Pour en savoir plus, consultez les instructions du support dans la rubrique relative à la transition du service de disque virtuel vers l'API de gestion de stockage Windows.

  • Positionnement des fichiers de données et des fichiers journaux : ci votre charge de travail ne génère pas intensivement de journaux et ne nécessite pas d'opérations d'E/S par seconde dédiées, vous pouvez configurer un seul pool de stockage. Sinon, pour les machines virtuelles autorisant l'attachement de plus de 4 disques, positionnez les fichiers de données et journaux sur des disques ou des pools de stockage différents. Pour la couche de service Standard A2, nous recommandons une configuration de trois disques de données pour les fichiers de données et tempdb, et un disque de données pour les fichiers journaux. Selon que votre charge de travail est sensible aux journaux ou aux données, vous pouvez ajuster le nombre de disques dédiés au pool de stockage de journaux ou de données en conséquence.

  • Envisagez d'utiliser la compression de page de base de données car elle peut améliorer les performances des charges de travail gourmandes en E/S. Toutefois, la compression de données peut augmenter la consommation d'UC sur le serveur de base de données.

  • Envisagez de compresser tous les fichiers de données lors des transferts vers et depuis Azure.

  • Envisagez d'activer l'initialisation instantanée des fichiers pour réduire le temps requis pour l'allocation initiale des fichiers. Pour tirer parti de l'initialisation instantanée des fichiers, vous devez accorder l'autorisation SE_MANAGE_VOLUME_NAME au compte de service SQL Server (MSSQLSERVER) et l'ajouter à la stratégie de sécurité Effectuer des tâches de maintenance sur les volumes. Si vous utilisez une image de plateforme SQL Server pour Azure, le compte de service par défaut (NT Service\MSSQLSERVER) n'est pas ajouté à la stratégie de sécurité Effectuer des tâches de maintenance sur les volumes. En d'autres termes, l'initialisation instantanée des fichiers n'est pas activée dans une image de plateforme SQL Server pour Azure. Après avoir ajouté le compte de service SQL Server à la stratégie de sécurité Effectuer des tâches de maintenance sur les volumes, redémarrez le service SQL Server. Pour plus d'informations, consultez Initialisation des fichiers de base de données.

  • autogrow est considéré comme un simple plan d'urgence en cas de croissance plus rapide que prévu. Ne gérez pas la croissance de vos données et journaux quotidiennement avec la croissance automatique. En cas d'utilisation de la croissance automatique, augmentez préalablement le fichier à l'aide du commutateur Taille.

  • Vérifiez que la fonctionnalité autoshrink est désactivée afin d'éviter une surcharge inutile qui pourrait affecter les performances.

  • Si vous exécutez SQL Server 2012, installez la mise à jour cumulative 10 Service Pack 1. Elle contient le correctif pour résoudre les problèmes de performances d'E/S lorsque vous exécutez une sélection dans l'instruction de table temporaire dans SQL Server 2012. Pour plus d'informations, consultez cet article de la Base de connaissances.

  • En vue d'améliorer les performances, déplacez les bases de données système (telles msdb et tempdb), les sauvegardes et les répertoires par défaut de données et de journaux de SQL Server vers des disques de données non mis en cache. Effectuez ensuite les actions suivantes :

    • Définissez les chemins d'accès aux fichiers XEvent et Trace.

    • Définissez le chemin d'accès du journal d'erreurs SQL.

    • Définissez le chemin d'accès de sauvegarde par défaut.

    • Définissez l'emplacement par défaut de la base de données.

  • Déterminez des pages verrouillées pour réduire les activités d'E/S et de pagination.

Certains déploiements peuvent bénéficier de plus grands avantages en termes de performances à l'aide de techniques de configuration avancées. La liste suivante présente certaines fonctionnalités SQL Server qui peuvent vous aider à améliorer les performances :

Voir aussi

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Afficher:
© 2014 Microsoft