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 :
- Identifiez les caractéristiques de performances de la charge de travail pour déterminer la taille de machine virtuelle appropriée pour votre entreprise.
- Si vous migrez vers Azure, utilisez des outils tels que l’Assistant Migration de données et les recommandations de référence SKU pour trouver la taille de machine virtuelle appropriée pour votre charge de travail SQL Server existante, puis effectuez une migration avec Azure Data Studio.
- 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.
- Utilisez des tailles de machine virtuelle avec 4 processeurs virtuels ou plus.
- 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 les séries Msv3 et Mdsv3 offrent le ratio optimal de mémoire par cœur virtuel recommandé pour les charges de travail OLTP.
- La série de machines virtuelles Mbdsv3 offre les meilleures performances pour les charges de travail SQL Server sur des machines virtuelles Azure. Envisagez d’abord cette série pour les charges de travail OLTP et SQL Server d’entrepôt de données critiques.
- La série Ebdsv5 fournit le ratio de taux d’E/S par cœur virtuel le plus élevé, ainsi qu’un ratio de mémoire par cœur virtuel de 8:1. Cette série offre le meilleur rapport performances/prix pour les charges de travail SQL Server sur des machines virtuelles Azure. Envisagez ces machines virtuelles en premier pour la plupart des charges de travail SQL Server.
- La famille de séries M offre des machines virtuelles avec l’allocation de mémoire la plus élevée dans Azure.
- Les machines virtuelles des séries Mbsv3 et Mbdsv3 fournissent une allocation de mémoire élevée et le taux de taux d’E/S par cœur virtuel le plus élevé dans la famille de séries M, ainsi qu’un ratio de mémoire par cœur virtuel consistent d’au moins 8:1.
- Démarrez les environnements de développement avec les séries D de niveau inférieur, la série B ou la série Av2, et développez votre environnement au fil du temps.
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. 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.
S’il s’agit d’une nouvelle machine virtuelle, créez votre machine virtuelle SQL Server en fonction des exigences de votre application. 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 les séries D de niveau inférieur, la série B ou la série Av2, et développez votre environnement au fil du temps.
Envisagez les séries de machines virtuelles suivantes en fonction de vos charges de travail SQL Server :
- Allocation de mémoire la plus élevée pour les charges de travail stratégiques : les machines virtuelles des séries Mbsv3 et Mbdsv3 offrent l’allocation de mémoire la plus élevée dans Azure, avec les meilleures performances de stockage.
- Ratio de taux d’E/S par cœur virtuel élevé : les machines virtuelles des séries Mbsv3 et Mbdsv3 offrent le ratio de débit par cœur virtuel le plus élevé de toutes les séries de machines virtuelles dans n’importe quel cloud. Les machines virtuelles de la série Ebdsv5 offrent le deuxième ratio de débit par cœur virtuel le plus élevé dans Azure. Si vous ne connaissez pas les exigences en E/S de votre charge de travail SQL Server, les machines virtuelles de la série Ebdsv5 sont les plus susceptibles de répondre à vos besoins. Pour en savoir plus, consultez l’article sur le stockage.
- Traitement parallèle pour les machines plus volumineuses : les machines virtuelles des séries Msv3 et Mdsv3 offrent un traitement parallèle, ce qui en fait une bonne option pour les environnements d’entrepôt de données plus volumineux.
Les environnements stratégiques et d’entrepôt de données de SQL Server doivent souvent évoluer au-delà du ratio de mémoire par cœur virtuel de 8:1. Vous pouvez choisir un ratio de mémoire par cœur virtuel de 16:1 pour des environnements de taille moyenne et de 32:1 pour les environnements d’entrepôt de données plus volumineux.
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 les performances du Stockage Premium. Pour en savoir plus, consultez l’article sur le stockage.
Machines virtuelles des séries M à mémoire optimisée
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.
Le tableau suivant présente les capacités des machines virtuelles des séries M :
- Prennent en charge: Stockage Premium, mise en cache du Stockage Premium, disques Ultra, accélération d’écriture et performances réseau accélérées.
- Conviennent 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éries Mbsv3 et Mbdsv3
Les séries Mbsv3 et Mbdsv3 sont des machines virtuelles à mémoire optimisée conçues pour les grandes bases de données en mémoire et les charges de travail avec des besoins élevés en mémoire par processeur. Les machines virtuelles de cette série sont basées sur la 4e génération d’Intel® Xeon® Scalable et offrent une gamme de tailles de mémoire et de processeurs virtuels pour répondre aux besoins de vos charges de travail SQL Server. Les machines virtuelles des séries Mbsv3 et Mbdsv3 sont recommandées pour les charges de travail stratégiques et d’entrepôt de données.
Les machines virtuelles des séries Mbsv3 et Mbdsv3 prennent en charge les bases de données en mémoire volumineuses et les charges de travail avec un ratio de mémoire par processeur élevé, parfait pour les serveurs de base de données relationnelles, l’entreposage de données, les rapports conséquents, les grands caches et l’analytique en mémoire.
Voici quelques caractéristiques des machines virtuelles de cette série :
- La série Mbsv3 offre jusqu’à 176 cœurs virtuels et 1536 Gio de mémoire, avec un ratio de mémoire par cœur virtuel consistent de 8:1, 650 000 IOPS et 6000 Mo/s de débit de stockage.
- La série Mbdsv3 offre jusqu’à 176 cœurs virtuels et 4 Tio de mémoire, 650 000 IOPS et 10 000 Mo/s de débit de stockage. Cette série de machines virtuelles offre une amélioration de plus de 50 % en IOPS et en débit par rapport à la série Ebdsv5 la plus performante, ce qui rend la série Mbdsv3 l’une des options de machines virtuelles les plus performantes disponibles dans n’importe quel cloud. La série de machines virtuelles Mbdsv3 partage des caractéristiques de performances similaires avec la série de machines virtuelles Mbsv3, mais inclut un stockage local et éphémère fort, ce qui la rend parfaite pour l’optimisation des performances tempdb, la création de rapports, l’OLAP stratégique et les charges de travail d’entreposage de données.
Séries Msv3 et Mdsv3
Les machines virtuelles Msv3 et Mdsv3 sont conçues avec des capacités de puissance de calcul et de mémoire aux niveaux de mémoire moyen, élevé et très élevé. Ces machines virtuelles offrent des performances, une scalabilité et une résilience aux défaillances améliorées par rapport aux machines virtuelles Mv2 de la génération précédente.
Le tableau suivant répertorie les machines virtuelles de cette série :
- Machines virtuelles à mémoire moyenne Msv3 et Mdsv3 : alimentées par les processeurs Intel® Xeon® Scalable de 4e génération et offrant des tailles de machine virtuelle jusqu’à 4 Tio de mémoire, 416 processeurs virtuels, 130 000 IOPS et 4000 Mo/s de débit de stockage distant avec l’interface NVMe.
- Machines virtuelles à mémoire élevée Msv3 et Mdsv3 : conçues pour les charges de travail à mémoire élevée allant de 6 Tio à 16 Tio, jusqu’à 832 processeurs virtuels, jusqu’à 260 000 IOPS et 8000 Mo/s de débit de stockage distant avec l’interface NVMe.
- Série à mémoire très élevée Mdsv3 : alimentée par les processeurs Intel® Xeon® Platinum 8490H (Sapphire Rapids) de 4e génération, offre la plus grande empreinte mémoire de toutes les machines virtuelles basées sur la série M avec jusqu’à 32 Tio de mémoire, 1792 processeurs virtuels, jusqu’à 200 000 IOPS et 8000 Mo/s de débit de stockage distant.
Attention
Désactivez SMT pour utiliser les machines virtuelles SQL Server sur Azure qui dépassent 64 cœurs virtuels par nœud NUMA.
Machines virtuelles de série E à mémoire optimisée
Les machines virtuelles de la série E sont conçues pour les charges de travail gourmandes en mémoire, telles que les bases de données volumineuses, l’analytique Big Data et les applications d’entreprise qui nécessitent des quantités importantes de RAM pour maintenir des performance élevées.
Série Ebdsv5
La série Ebdsv5 est une 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 par cœur virtuel de 8:1 qui, avec le taux d’E/S élevé, les rend idéales pour la plupart des 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 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.
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 machine de série B burstable est la machine Standard_B20ms doté de 20 cœurs virtuels 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.
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.
Le modèle Standard_A8m_v2 à 8 cœurs virtuels peut également être une bonne option pour des petits serveurs web et d’applications.
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 offrent de 8 à 80 processeurs virtuels, avec 8 Gio de mémoire par processeur et 1,92 Tio 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 10x1,92 Tio 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 :
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.