Taille de machine virtuelle : Meilleures pratiques relatives aux performances de SQL Server sur les machines virtuelles Azure

S’applique à :SQL Server sur la machine virtuelle Azure

Cet article fournit les meilleures pratiques et les recommandations relatives à la taille des machines virtuelles pour optimiser les performances de votre instance de SQL Server sur les machines virtuelles Azure.

Il existe généralement un compromis entre l’optimisation des coûts et l’optimisation des performances. Cette série de bonnes pratiques sur les performances vise à obtenir les meilleures performances possibles pour SQL Server sur les machines virtuelles Azure. Si votre charge de travail est moindre, vous n’aurez peut-être pas besoin de toutes les optimisations recommandées. Tenez compte de vos besoins de performances, des coûts et des modèles de charges de travail lors de l’évaluation de ces recommandations.

Pour plus de détails, consultez les autres articles de cette série : Liste de contrôle, Stockage, Sécurité, Configuration HADR, Collecter la ligne de base.

Check-list

Consultez la liste de contrôle suivante pour obtenir une vue d’ensemble des meilleures pratiques en matière de taille des machines virtuelles présentées plus en détail dans le reste de l’article :

  • La nouvelle série Ebdsv5 fournit le ratio d’E/S le plus élevé en débit/vCore dans Azure, ainsi qu’un ratio mémoire/vCore de 8. Cette série offre le meilleur rapport performances/prix pour les charges de travail SQL Server sur des machines virtuelles Azure. Envisagez cette série en premier pour la plupart des charges de travail SQL Server.
  • Utilisez des tailles de machine virtuelle offrant au moins 4 processeurs virtuels, comme E4ds_v5 ou version ultérieure.
  • Utilisez des tailles de machine virtuelle à mémoire optimisée pour optimiser les performances des charges de travail SQL Server.
  • Les séries Edsv5, M- et Mv2- offrent le ratio optimal mémoire/vCore requis pour les charges de travail OLTP.
  • Les machines virtuelles de la série M offrent le ratio mémoire/vCore le plus élevé dans Azure. Envisagez ces machines virtuelles pour les charges de travail critiques et d’entrepôt de données.
  • Utilisez des images de la Place de marché Azure pour déployer vos machines virtuelles SQL Server, car les paramètres et les options de stockage de SQL Server sont configurés pour optimiser les performances.
  • Collectez les caractéristiques de performances de la charge de travail cible, et utilisez-les pour déterminer la taille de machine virtuelle appropriée pour votre entreprise.
  • Utilisez les outils Assistant Migration de données et Recommandation de référence SKU pour trouver la taille de machine virtuelle adaptée à votre charge de travail SQL Server existante.
  • Utilisez Azure Data Studio pour migrer vers Azure.

Pour comparer la liste de contrôle de la taille des machines virtuelles avec les autres, consultez Liste de contrôle des meilleures pratiques relatives aux performances.

Vue d’ensemble

Quand vous créez une instance SQL Server sur une machine virtuelle Azure, réfléchissez soigneusement au type de charge de travail nécessaire. Si vous migrez un environnement existant, collectez une base de référence des performances pour déterminer les spécifications de votre instance SQL Server sur une machine virtuelle Azure. S’il s’agit d’une nouvelle machine virtuelle, créez votre machine virtuelle SQL Server en fonction des exigences de votre fournisseur.

Si vous créez une machine virtuelle SQL Server avec une nouvelle application conçue pour le cloud, vous pouvez facilement dimensionner votre machine virtuelle SQL Server à mesure que vos besoins en matière de données et d’utilisation évoluent. Démarrez les environnements de développement avec des machines la série D de niveau inférieur, de la série B ou la série Av-2, et développez votre environnement au fil du temps.

Utilisez les images de la place de marché de machines virtuelles SQL Server avec la configuration de stockage dans le portail. Ceci facilite la création des pools de stockage nécessaires pour obtenir la taille, les IOPS et le débit dont vos charges de travail ont besoin. Il est important de choisir des machines virtuelles SQL Server qui prennent en charge le Stockage Premium et la mise en cache du Stockage Premium. Pour en savoir plus, consultez l’article sur le stockage.

Actuellement, la série Ebdsv5 offre le ratio d’E/S le plus élevé en débit/vCore disponible dans Azure. Si vous ne connaissez pas les exigences en E/S de votre charge de travail SQL Server, cette série est la plus susceptible de répondre à vos besoins. Pour en savoir plus, consultez l’article sur le stockage.

Notes

Les plus grandes tailles de la série Ebdsv5 (48 vCPU et plus) offrent une prise en charge de l’accès au stockage compatible NVMe. Pour bénéficier de ces performances d’E/S élevées, vous devez déployer votre machine virtuelle en utilisant NVMe. La prise en charge de NVMe pour les images de la place de marché de SQL Server sera bientôt disponible, mais pour l’instant, vous devez auto-installer SQL Server afin de bénéficier de NVMe.

L’entrepôt de données et les environnements stratégiques de SQL Server doivent souvent évoluer au-delà du ratio mémoire/vCore de 8. Pour des environnements de taille moyenne, vous pouvez choisir un ratio mémoire/vCore de 16 et, pour les environnements d’entrepôt de données plus volumineux, un ratio mémoire/vCore de 32.

Les environnements d’entrepôt de données SQL Server tirent souvent bénéfice du traitement parallèle de machines de plus grande taille. C’est la raison pour laquelle les séries M et Mv2 sont de bonnes options pour des environnements d’entrepôt de données volumineux.

Utilisez la configuration de processeur virtuel et de mémoire de votre machine source comme ligne de base pour la migration d’une base de données SQL Server locale existante vers SQL Server sur machines virtuelles Azure. Si vous disposez de Software Assurance, tirez parti d’Azure Hybrid Benefit pour intégrer vos licences à Azure et réaliser des économies sur les coûts de licences SQL Server.

Mémoire optimisée

Les tailles de machine virtuelle à mémoire optimisée constituent une cible primaire pour les machines virtuelles SQL Server et le choix recommandé par Microsoft. Les machines virtuelles à mémoire optimisée offrent des options plus solides en matière de ratio mémoire/processeur et de cache de taille moyenne à grande.

Série Ebdsv5

La série Ebdsv5 est une nouvelle série de machines virtuelles à mémoire optimisée qui offre le débit de stockage distant le plus élevé disponible dans Azure. Ces machines virtuelles ont un ratio mémoire/vCore de 8 qui, avec le débit d’E/S élevé, les rend idéales pour les charges de travail SQL Server. Les machines virtuelles de la série Ebdsv5 offrent les meilleures performances pour les charges de travail SQL Server qui s’exécutent sur des machines virtuelles Azure. Nous les recommandons vivement pour la plupart de vos charges de travail de production SQL Server.

Série Edsv5

La série Edsv5 est conçue pour les applications nécessitant beaucoup de mémoire et est idéale pour les charges de travail SQL Server qui ne nécessitent pas de débit en E/S aussi élevé que celui offert par la série Ebdsv5. Ces machines virtuelles offrent une grande capacité de stockage SSD local, jusqu’à 672 Gio de RAM, ainsi qu’un débit de stockage local et distant élevé. La plupart de ces machines virtuelles disposent de 8 Gio de mémoire par vCore, ce qui est idéal pour la plupart des charges de travail SQL Server.

La plus grande machine virtuelle de ce groupe est le modèle Standard_E104ids_v5, qui offre 104 vCores et 672 Gio de mémoire. Cette machine virtuelle est remarquable, car elle est isolée, ce qui signifie qu’il est garanti qu’elle est la seule machine virtuelle en cours d’exécution sur l’hôte et qu’elle est donc isolée des autres charges de travail du client. Elle a un ratio mémoire/vCore inférieur à ce qui est recommandé pour SQL Server, elle ne doit donc être utilisée que si l’isolation est requise.

Les machines virtuelles de la série Edsv5 prennent en charge le Stockage Premium et la mise en cache du Stockage Premium.

ECadsv5-series

Les tailles de machines virtuelles ECadsv5-series sont des machines virtuelles confidentielles Azure à mémoire optimisée avec un disque temporaire. Passez en revue les machines virtuelles confidentielles pour plus d’informations sur les avantages des machines virtuelles confidentielles Azure en termes de sécurité.

Comme les fonctionnalités de sécurité des machines virtuelles confidentielles Azure peuvent introduire des ralentissements des performances, testez votre charge de travail et sélectionnez une taille de machine virtuelle qui répond à vos besoins en matière de performances.

Séries M et Mv2

La série M offre des nombres de vCore et une quantité de mémoire appropriés pour certaines des charges de travail SQL Server les plus volumineuses.

La série Mv2 offre les nombres de vCore et la quantité de mémoire les plus élevés. Elle est recommandée pour les charges de travail stratégiques et d’entrepôt de données. Les instances de la série Mv2 sont des tailles de machine virtuelle à mémoire optimisée fournissant des performances de calcul inégalées pour prendre en charge des bases de données et des charges de travail en mémoire volumineuses, avec un ratio mémoire/processeur élevé parfait pour les serveurs de base de données relationnelle, les caches volumineux et l’analytique en mémoire.

Parmi les caractéristiques des séries M et Mv2 attrayantes pour les performances de SQL Server, citons la prise en charge du Stockage Premium et de la mise en cache du Stockage Premium, la prise en charge des disques Ultra et l’accélération d’écriture.

Usage général

Les tailles de machines virtuelles à usage général sont conçues pour offrir des ratios mémoire/vCore équilibrés pour des charges de travail d’entrée de gamme plus petites, telles que le développement et les tests, les serveurs web et les serveurs de base de données plus petits.

En raison des ratios mémoire/vCore inférieurs des machines virtuelles à usage général, il est important de superviser attentivement les compteurs de performances basés sur la mémoire pour être sûr que SQL Server peut obtenir la mémoire cache tampon dont il a besoin. Pour plus d’informations, consultez la ligne de base des performances de la mémoire.

Étant donné que la recommandation de départ pour les charges de travail de production est un ratio mémoire/vCore de 8, la configuration minimale recommandée pour une machine virtuelle à usage général exécutant SQL Server est de 32 Gio de mémoire et 4 processeurs virtuels.

Série Ddsv5

La série Ddsv5 offre une juste combinaison de processeurs virtuels, de mémoire et de disque temporaire, mais avec un moindre ratio mémoire/vCore.

Les machines virtuelles de la série Ddsv5 incluent un stockage local à latence plus faible et plus rapide.

Ces machines sont idéales pour des déploiements côte à côte de SQL et d’applications, qui requièrent un accès rapide au stockage temporaire et aux bases de données relationnelles de services. L’ensemble des machines virtuelles de cette série offrent un ratio mémoire/vCore standard de 4.

C’est pourquoi il est recommandé d’utiliser comme machine virtuelle de démarrage dans cette série le modèle D8ds_v5 qui offre 8 vCores et 32 Gio de mémoire. La plus grande machine est le modèle D96ds_v5, avec 96 vCores et 256 Gio de mémoire.

Les machines virtuelles de la série Ddsv5 prennent en charge le Stockage Premium et la mise en cache du Stockage Premium.

Notes

La série Ddsv5 n’offre pas le ratio mémoire/vCore de 8 recommandé pour les charges de travail SQL Server. Ainsi, n’envisagez d’utiliser ces machines virtuelles que pour des applications et des charges de travail de développement de taille modeste.

DCadsv5-series

Les tailles de machines virtuelles DCadsv5-series sont des machines virtuelles confidentielles Azure à usage général avec un disque temporaire. Passez en revue les machines virtuelles confidentielles pour plus d’informations sur les avantages des machines virtuelles confidentielles Azure en termes de sécurité.

Comme les fonctionnalités de sécurité des machines virtuelles confidentielles Azure peuvent introduire des ralentissements des performances, testez votre charge de travail et sélectionnez une taille de machine virtuelle qui répond à vos besoins en matière de performances.

Série B

Les tailles de machine virtuelle de la série B burstable sont idéales pour des charges de travail ne nécessitant pas de performances soutenues, par exemple pour une preuve de concept, ou pour de très petits serveurs d’applications et de développement.

La plupart des machines virtuelles de la série B burstable ont un ratio mémoire/vCore de 4. La plus grande de ces machines est le modèle Standard_B20ms doté de 20 vCores et de 80 Gio de mémoire.

Cette série est unique, car elle permet aux applications d’opérer par rafales pendant les heures de bureau avec des crédits burstables variables en fonction de la taille de la machine.

Une fois ces crédits épuisés, la machine virtuelle revient aux performances de base.

L’avantage de la série B a trait aux économies de calcul que vous pouvez réaliser par rapport aux tailles de machines virtuelles d’autres séries, en particulier si vous avez besoin d’une puissance de traitement modérée tout au long de la journée.

Cette série prend en charge le stockage Premium, mais ne prend pas en charge la mise en cache du stockage Premium.

Notes

La série B burstable n’offre pas le ratio mémoire/vCore de 8 recommandé pour les charges de travail SQL Server. Par conséquent, n’envisagez d’utiliser ces machines virtuelles que pour des applications, serveurs web et charges de travail de développement de taille modeste.

Série Av2

Les machines virtuelles de la série AV2 sont idéales pour des charges de travail d’entrée de gamme, par exemple, le développement et les tests, les serveurs web à faible trafic, les bases de données d’applications petites à moyennes et les preuves de concept.

Seuls les modèles Standard_A2m_v2 (2 vCores et 16 Gio de mémoire), Standard_A4m_v2 (4 vCores et 32 Gio de mémoire) et Standard_A8m_v2 (8 vCores et 64 Gio de mémoire) offrent un bon ratio mémoire/vCore de 8.

Ces machines virtuelles constituent de bonnes options pour les machines SQL Server de développement et de test de taille modeste.

Le modèle Standard_A8m_v2 à 8 vCore peut également être une bonne option pour des serveurs web et d’applications de petite taille.

Notes

La série AV2 ne prenant pas en charge le Stockage Premium, elle n’est pas recommandée pour des charges de travail SQL Server de production, même avec les machines virtuelles offrant un ratio mémoire/vCore de 8.

Optimisé pour le stockage

Les tailles de machine virtuelle à stockage optimisé sont destinées à des cas d’usage spécifiques. Ces machines virtuelles sont spécialement conçues avec un débit de disque et des E/S optimisés.

Série Lsv2

La série Lsv2 offre un débit élevé, une faible latence et un stockage NVMe local. Les machines virtuelles de la série Lsv2 sont optimisées pour utiliser le disque local du nœud attaché directement à la machine virtuelle au lieu d’utiliser des disques de données durables.

Ces machines virtuelles constituent des options solides pour des charges de travail de Big Data, d’entrepôt de données, de création de rapports et d’extraction, transformation et chargement (ETL). Le débit élevé et l’IOPS du stockage NVMe local sont appropriés pour traiter des fichiers qui seront chargés dans votre base de données et d’autres scénarios dans lesquels les données peuvent être recréées à partir du système source ou d’autres référentiels tels que Stockage Blob Azure ou Azure Data Lake. Les machines virtuelles de la série Lsv2 peuvent également augmenter en rafale leurs performances de disque pendant jusqu’à 30 minutes.

Ces machines virtuelles offrent une taille de 8 à 80 processeurs virtuels, avec 8 Gio de mémoire par processeur et 1,92 To de disque SSD NVMe par groupe de 8 processeurs virtuels. Cela signifie que la plus grande machine virtuelle de cette série, le modèle L80s_v2, est dotée de 80 processeurs virtuels, de 640 Gio de mémoire et de 10 x 1,92 To de stockage NVMe. Toutes ces machines virtuelles offrent un ratio mémoire/vCore cohérent de 8.

Le stockage NVMe est éphémère, ce qui signifie que les données seront perdues sur ces disques si vous libérez votre machine virtuelle ou si celle-ci est déplacée vers un autre hôte pour la réparation de service.

Les séries Lsv2 et Ls prennent en charge le Stockage Premium, mais pas la mise en cache du Stockage Premium. La création d’un cache local pour augmenter les IOPS n’est pas prise en charge.

Avertissement

Le stockage de vos fichiers de données sur le stockage NVMe éphémère peut entraîner une perte de données lors de la désallocation de la machine virtuelle.

VCore contraints

Les charges de travail SQL Server hautes performances nécessitent davantage de mémoire, d’IOPS et de débit, sans compter le nombre plus élevé de vCore.

La plupart des charges de travail OLTP sont des bases de données d’application pilotées par de grands nombres de transactions plus petites. Avec des charges de travail OLTP, seule une petite quantité des données sont lues ou modifiées, mais les volumes des transactions pilotées par l’utilisateur sont beaucoup plus importants. Il est important d’avoir la mémoire SQL Server disponible pour mettre en cache des plans, stocker des données récemment consultées à des fins de performances et de veiller à ce que les lectures physiques puissent être lues rapidement en mémoire.

Ces environnements OLTP ont besoin de davantage de mémoire, d’un stockage rapide et de la bande passante d’E/S nécessaire pour une exécution optimale.

Pour maintenir ce niveau de performances sans exposer des coûts de licences SQL Server plus élevés, Azure propose des tailles de machine virtuelle avec des processeurs virtuels en nombre limité.

Cela permet de contrôler les coûts de licences en réduisant les vCore disponibles tout en conservant les mémoire, stockage et bande passante d’E/S de la machine virtuelle parente.

Le nombre de processeurs virtuels peut être contraint à la moitié ou au quart de la taille de la machine virtuelle d’origine. La réduction du nombre de vCores disponibles pour la machine virtuelle permet d’obtenir des ratios mémoire/vCore plus élevés, mais le coût du calcul va rester le même.

Pour faciliter leur identification, ces nouvelles tailles de machine virtuelle sont assorties d’un suffixe indiquant le nombre de processeurs virtuels actifs.

Par exemple, le modèle M64-32ms requiert des licences uniquement pour 32 vCores SQL Server avec la mémoire, les E/S et le débit du modèle M64ms, et le modèle M64-16ms requiert des licences uniquement pour 16 vCores. Bien que le modèle M64-16ms soit proposé au quart du coût de la licence SQL Server du modèle M64ms, le coût du calcul des machines virtuelles est le même.

Notes

  • Les charges de travail d’entrepôt de données de taille moyenne à grande peuvent toujours tirer bénéfice des machines virtuelles vCore contraintes, mais les charges de travail d’entrepôt de données sont généralement caractérisées par un moindre nombre d’utilisateurs et de processus traitant de grandes quantités de données via des plans de requête s’exécutant en parallèle.
  • Le coût de calcul, qui inclut la licence du système d’exploitation, reste identique à celui de la machine virtuelle parente.

Étapes suivantes

Pour en savoir plus, consultez les autres articles de cette série sur les meilleures pratiques :