Microsoft propose un grand nombre de séries et de tailles de machines virtuelles Azure différentes si vous souhaitez utiliser leur option d'infrastructure en tant que service (IaaS) pour héberger des instances SQL Server. Une décision initiale que vous devrez prendre est la série et la taille de machine virtuelle Azure que vous souhaitez utiliser pour votre charge de travail SQL Server particulière.
Pour l'utilisation de SQL Server sur site, vous souhaitez effectuer une analyse minutieuse de votre charge de travail et des modèles de serveur et de processeur disponibles afin d'obtenir un serveur avec un choix de processeur approprié pour minimiser vos coûts de licence SQL Server et obtenir les meilleures performances et capacité possible à un coût de licence SQL Server donné. La différence de coût et de performances entre un bon choix de processeur et un mauvais choix de processeur peut être assez considérable.
Avec une machine virtuelle Azure, vous devez effectuer une analyse similaire, mais pour des raisons quelque peu différentes. Le coût de la licence de SQL Server sur une machine virtuelle Azure est directement lié au nombre de cœurs de la machine virtuelle. Vous souhaitez choisir une taille de machine virtuelle qui correspond à vos besoins attendus en termes de performances et de capacité du processeur, de capacité de mémoire et de performances de stockage.
Contrairement à un scénario sur site, vous aurez beaucoup moins de contrôle sur le choix réel du processeur dans la machine hôte sous-jacente. Avec une machine virtuelle Azure, vous choisissez une série de machines particulières (comme une série GS) et une taille dans un centre de données Azure particulier, puis vous obtenez le processeur que Microsoft utilise pour cette série et cette taille dans ce centre de données Azure. Microsoft compte actuellement 42 régions différentes qui ont des centres de données Azure, vous pouvez donc utiliser la matrice présentée sur cette page pour découvrir quelles séries de machines virtuelles sont proposées dans chaque région.
Unité de calcul Azure (ACU)
Un concept très important à comprendre lors de la comparaison et de la sélection d'une référence SKU de machine virtuelle Azure est l'unité de calcul Azure (ACU), qui vous permet de comparer les performances de calcul (performances par cœur de vCPU) sur différentes références SKU de machine virtuelle Azure. Cette mesure ACU est actuellement standardisée sur une petite machine virtuelle (Standard_A1) avec un score de 100 et toutes les autres références SKU Azure ont alors des scores ACU qui représentent approximativement la vitesse à laquelle cette référence SKU Azure particulière peut exécuter une référence CPU standard. Ainsi, par exemple, un Standard_A1 a un score ACU/vCPU de 100 tandis qu'un Standard_GS5 a un score ACU/vCPU de 240.
L'examen du score ACU d'une référence SKU de machine virtuelle Azure vous donne une bonne idée des performances du processeur monothread du processeur utilisé dans la machine hôte sous-jacente. Il est également important de comprendre si ce processeur particulier prend en charge Intel Turbo Boost et/ou Intel Hyper-Threading, car tous les processeurs utilisés dans les différentes références de machines virtuelles Azure ne prennent pas en charge ces technologies.
Vous pouvez le faire en identifiant le processeur hôte réel de votre machine virtuelle dans la page CPU de l'onglet Performances du Gestionnaire des tâches de Windows ou en utilisant un utilitaire tel que CPU-Z. Une fois que vous avez identifié le modèle de processeur exact dans l'hôte, vous pouvez utiliser la base de données Intel ARK en ligne pour obtenir des détails spécifiques sur ce processeur.
Nouvelles tailles de machine virtuelle Azure pour SQL Server
Un problème courant avec le dimensionnement des machines virtuelles Azure pour SQL Server était le fait que vous étiez souvent obligé de sélectionner une taille de machine virtuelle qui avait beaucoup plus de cœurs de processeur virtuels que ce dont vous aviez besoin ou que vous vouliez afin d'avoir suffisamment de mémoire et de performances de stockage pour prendre en charge votre charge de travail, ce qui a augmenté votre coût de licence mensuel.
Heureusement, Microsoft a récemment simplifié un peu le processus de décision pour SQL Server avec une nouvelle série de machines virtuelles Azure qui utilisent certaines tailles de machines virtuelles particulières (DS, ES, GS et MS), mais réduisent le nombre de vCPU à un quart ou une moitié. de la taille de la machine virtuelle d'origine, tout en conservant la même mémoire, le même stockage et la même bande passante d'E/S. Ces nouvelles tailles de VM ont un suffixe qui spécifie le nombre de vCPU actifs pour les rendre plus faciles à identifier.
Par exemple, une machine virtuelle Azure Standard_DS14v2 aurait 16 vCPU, 112 Go de RAM et prendrait en charge jusqu'à 51 200 IOPS ou 768 Mo/s de débit séquentiel (selon Microsoft). Une nouvelle machine virtuelle Azure Standard_DS14-8v2 n'aurait que 8 vCPU, avec la même capacité de mémoire et les mêmes performances de disque que la Standard_DS14v2, ce qui réduirait de 50 % votre coût de licence SQL Server par an. Ces deux références SKU de machine virtuelle Azure auraient le même score ACU de 160.
Un problème quelque peu déroutant avec ces nouvelles références SKU de machine virtuelle Azure est que le coût de calcul mensuel (qui inclut les licences de système d'exploitation) pour ces deux références SKU serait le même (989,52 $/mois pour cet exemple). Là où vous économisez, ce sont les coûts de licence mensuels réduits de SQL Server.
Essentiellement, ce que Microsoft fait ici consiste à désactiver les cœurs de la machine virtuelle pour réduire vos coûts de licence SQL Server, ce que vous n'êtes pas autorisé à faire avec SQL Server sur site. Avec SQL Server sur site, vous n'êtes pas autorisé à désactiver les cœurs de processeur dans votre UEFI/BIOS pour réduire vos coûts de licence SQL Server. Même si vous désactivez les cœurs dans l'UEFI/BIOS, vous devez toujours obtenir une licence pour ces cœurs pour SQL Server.
Analyse comparative de votre machine virtuelle Azure avec CPU-Z
Un benchmark CPU très rapide que vous pouvez exécuter sur n'importe quelle machine (physique ou virtuelle, machine virtuelle Azure ou non) est le benchmark CPU-Z intégré, qui ne prend que 20 secondes environ. J'ai créé un DS14-8_v2 standard dans le centre de données du centre-sud des États-Unis. Cette machine virtuelle utilisait le processeur Intel Xeon E5-2673 v3 Haswell-EP, qui est un processeur à 12 cœurs avec une vitesse d'horloge de base de 2,4 GHz et une vitesse d'horloge Turbo de 3,2 GHz qui semble être un SKU de processeur spécial sur mesure qui n'est pas dans la base de données Intel Ark. Cette famille de processeurs a été introduite au troisième trimestre de 2014, elle est donc disponible depuis plus de trois ans. Sur cette machine virtuelle particulière, je n'ai pas vu Turbo Boost être utilisé lors de mes tests.
En regardant les figures 1 à 3, vous pouvez voir les résultats de référence CPU-Z pour cette machine virtuelle Azure, la figure 4 étant les résultats pour mon ordinateur portable Dell Precision 5520, certes rapide. Mon ordinateur portable a le même nombre de cœurs virtuels que la machine virtuelle Azure DS14-8_v2 standard, mais j'utilise un processeur Intel Xeon E3-1505M v6 Kaby Lake beaucoup plus récent avec une vitesse d'horloge de base plus élevée et de meilleures performances monothread.
Figure 1 :Gestionnaire de tâches de la norme DS14-8_v2 dans le centre-sud des États-Unis
Figure 2 :Onglet CPU CPU-Z de la norme DS14-8_v2 dans le centre-sud des États-Unis
Figure 3 :Onglet CPU-Z Bench de la norme DS14-8_v2 dans le centre-sud des États-Unis
Figure 4 :Onglet CPU-Z Bench de l'ordinateur portable de Glenn