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 série Ebdsv5 fournit le taux d’E/S le plus élevé à 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.
- La série Edsv5 et la série Ebdsv5, la série Msv3 et Mdsv3 offrent un ratio mémoire/vCore optimal 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. Tenez compte de ces machines virtuelles pour les charges de travail OLTP et d’entrepôt de données critiques.
- 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.
Avertissement
L’installation de SQL Server sur des systèmes qui dépassent 64 cœurs par nœud NUMA n’est actuellement pas prise en charge. Cette limite s’applique actuellement aux tailles de machines virtuelles Azure Standard_M176s_3_v3 et Standard_M176s_4_v3 dans la série de mémoire moyenne Msv3 et Mdsv3.
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 de 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 tailles plus grandes de la série Ebdsv5 (48 processeurs virtuels et plus) permettent une prise en charge de l’accès au stockage avec NVMe. Pour tirer parti de ces performances d’E/S élevées, vous devez déployer votre machine virtuelle en utilisant NVMe. La prise en charge avec NVMe des images SQL Server sur la place de marché sera bientôt disponible, mais pour l’instant, vous devez installer vous-même SQL Server afin de tirer parti 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 les environnements moyens, vous pouvez choisir un ratio de 16 mémoire à vCore et un ratio de 32 mémoire à vCore pour les environnements d’entrepôt de données plus volumineux.
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.
Machines virtuelles de la série M optimisées en mémoire
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.
Les listes suivantes répertorient les fonctionnalités des machines virtuelles de la série M :
- Prendre en charge le stockage Premium, la mise en cache de stockage Premium, les disques Ultra, l’accélération d’écriture et la mise en réseau accélérée.
- Convient aux charges de travail SQL Server qui nécessitent des fonctionnalités de calcul élevées avec de grandes empreintes mémoire et moins d’importance sur les performances de stockage.
Série Msv3 et Mdsv3
Les machines virtuelles Msv3 et Mdsv3 sont conçues avec des capacités de puissance de calcul et de mémoire à des niveaux de mémoire moyen, élevé et très élevés . Ces machines virtuelles offrent des performances, une scalabilité et une résilience améliorées aux défaillances par rapport aux machines virtuelles Mv2 de la génération précédente.
Les listes suivantes répertorient les machines virtuelles de cette série :
- Machines virtuelles de mémoire moyenne Msv3 et Mdsv3 : alimentées par des processeurs Intel® Xeon® Scalable de 4e génération et offrant des tailles de machine virtuelle allant jusqu’à 4 To de mémoire, 416 processeurs virtuels, 130 000 IOPS et 4 000 Mbits/s de débit de stockage distant avec l’interface NVMe.
- Les machines virtuelles à mémoire élevée Msv3 et Mdsv3 sont conçues pour des charges de travail à mémoire élevée comprises entre 6 To et 16 To, jusqu’à 832 processeurs virtuels, jusqu’à 260 000 IOPS et 8 000 Mbits/s au stockage distant avec l’interface NVMe.
- Mdsv3 Très haute mémoire Série : alimentée par les processeurs Intel® Xeon® Platinum 8490H (Saphir Rapids) de 4e génération et ayant le plus grand encombrement mémoire de l’une des machines virtuelles M de série M offrant jusqu’à 32 To de mémoire, 1 792 processeurs virtuels, jusqu’à 200 000 IOPS et 8 000 Mbits/s de débit de stockage distant.
Avertissement
L’installation de SQL Server sur des systèmes qui dépassent 64 cœurs par nœud NUMA n’est actuellement pas prise en charge. Cette limitation s’applique actuellement aux tailles de machine virtuelle Azure suivantes dans la série de mémoire moyenne Msv3 et Mdsv3 : Standard_M176s_3_v3, Standard_M176s_4_v3, Standard_M176ds_3_v3, Standard_M176ds_4_v3
Machines virtuelles de série E à mémoire optimisée
Les machines virtuelles de la série E sont conçues pour des charges de travail gourmandes en mémoire, telles que des bases de données volumineuses, des analyses big data et des applications d’entreprise qui nécessitent des quantités importantes de RAM pour maintenir des performances élevées.
Série Ebdsv5
La série Ebdsv5 est une série optimisée en mémoire de machines virtuelles qui offrent le débit de stockage distant le plus élevé disponible dans Azure. Ces machines virtuelles ont un ratio mémoire-vCore de 8:1 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.
Remarque
Les tailles plus grandes de la série Ebdsv5 (48 processeurs virtuels et plus) permettent une prise en charge de l’accès au stockage avec NVMe. Pour tirer parti de ces performances d’E/S élevées, vous devez déployer votre machine virtuelle en utilisant NVMe.
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 surcharges de performances, testez votre charge de travail et sélectionnez une taille de machine virtuelle qui répond à vos besoins en matière de performances.
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 surcharges de 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 série B burstable est la Standard_B20ms avec 20 vCores et 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.
Remarque
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.
Les 8 vCore Standard_A8m_v2 peuvent également être une bonne option pour les petites applications et les serveurs web.
Remarque
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 sont de 8 à 80 processeurs virtuels avec 8 Gio de mémoire par processeur virtuel et pour chaque 8 processeurs virtuels, il y a 1,92 To de SSD NVMe. Cela signifie que pour la plus grande machine virtuelle de cette série, le L80s_v2, il y a 80 processeurs virtuels et 640 BiB de mémoire avec 10x1,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 E/S par seconde 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 que la mémoire SQL Server soit disponible pour mettre en cache les plans de cache, stocker les données récemment consultées pour les performances et garantir que les lectures physiques peuvent ê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 :
Pour connaître les meilleures pratiques en matière de sécurité, consultez Considérations relatives à la sécurité de SQL Server sur les machines virtuelles Azure.
Consultez d’autres articles relatifs aux machines virtuelles avec SQL Server à la page Vue d’ensemble de SQL Server sur les machines virtuelles Azure. Si vous avez des questions sur les machines virtuelles SQL Server, consultez le Forum aux Questions.