Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Machines virtuelles Azure pour l'utilisation de SQL Server

Une première étape facile pour déplacer vos charges de travail SQL Server sur site vers le cloud consiste à utiliser des machines virtuelles Azure pour exécuter vos charges de travail SQL Server dans un scénario d'infrastructure en tant que service (IaaS). Cela supprime le fardeau de l'achat et de la maintenance de votre matériel, de votre stockage et de votre infrastructure réseau, tout en vous offrant une expérience très familière avec Windows et SQL Server lui-même.

Vous devrez toujours maintenir votre système d'exploitation, SQL Server et vos bases de données comme vous le feriez dans un scénario sur site. En échange, vos bases de données et vos applications fonctionneront exactement comme dans une installation sur site, ce qui en fait un moyen simple de commencer à utiliser Azure.

Un choix important que vous devrez encore faire est le type et la taille de la machine virtuelle Azure que vous souhaitez utiliser pour votre charge de travail SQL Server existante. 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 (comme une série Esv3) et une taille dans une région Azure particulière, puis vous obtenez le processeur que Microsoft utilise pour cette série et cette taille dans cette région Azure.

Types et séries de machines virtuelles Azure

Microsoft dispose actuellement de huit principaux types de machines virtuelles conçues pour différents types de charges de travail. Ceux-ci incluent le niveau d'entrée, l'usage général, le calcul optimisé, la mémoire optimisée, le stockage optimisé, le GPU, le calcul haute performance et l'enclave sécurisée confidentielle.

Pour les charges de travail OLTP SQL Server hautes performances, le type de mémoire optimisée des machines virtuelles Azure est généralement le meilleur choix. Selon Microsoft, "les tailles de machines virtuelles optimisées pour la mémoire offrent un rapport mémoire/processeur élevé, idéal pour les serveurs de bases de données relationnelles". Cela vous donne un nombre de cœurs inférieur, avec plus de mémoire, ce qui est généralement ce que vous voulez pour SQL Server, afin de minimiser vos coûts de licence tout en conservant de bonnes performances.

Vous pouvez aller encore plus loin dans cette voie avec des tailles de VM compatibles vCPU contraintes, où vous pouvez limiter le nombre de vCPU de VM (à la moitié ou au quart de la taille de VM d'origine) pour réduire le coût des licences SQL Server, tout en conservant la même mémoire. , le stockage et la bande passante d'E/S en tant que machine virtuelle non contrainte. Ces machines virtuelles Azure contraintes ont un suffixe dans le nom qui indique le nombre de vCPU actifs dans la machine virtuelle.

Par exemple :un Standard_E64s_v3 standard aurait 64 cœurs vCPU, tandis qu'un Standard_E64-16s_v3 contraint n'aurait que 16 cœurs vCPU avec des spécifications par ailleurs identiques. Le suffixe -16s indique le nombre de cœurs vCPU actifs.

Série Esv3

Cette série utilise le processeur Intel Xeon Platinum 8171M (Skylake-SP) à 2,1 GHz, qui est un SKU de processeur spécial sur mesure qui ne figure pas dans la base de données publique Intel ARK. Il semble avoir des spécifications identiques au processeur 26C/52T 2,1 GHz Intel Xeon Platinum 8170M (Skylake-SP). Le suffixe M dans le numéro de modèle signifie qu'il prend en charge 1,5 To de RAM par socket au lieu de 768 Go de RAM par socket. La série Esv3 est évaluée à 160-190 unités de calcul Azure (ACU).

Remarque :dans certaines régions, Microsoft utilise l'ancien processeur sur mesure Intel Xeon E5-2673 v4 (Broadwell) de la série Esv3. Mine Tokus de Microsoft a publié un bon article dans lequel elle a exécuté une série de tests de performances TPC-E réduits sur une machine virtuelle E64s_v3 qui utilisait l'ancien processeur Broadwell.

La série Esv3 commence par un Standard_E2s_v3 avec 2 vCPU et 16 Go de RAM, et se termine par un Standard_E64is_v3 avec 64 vCPU et 432 Go de RAM. Il existe également de grandes différences de capacité de stockage et de débit entre ces extrêmes. BTW, le "i" dans la dénomination Standard_E64is_v3 signifie que l'instance est isolée du matériel dédié à un seul client. La plupart des tailles standard de la série Esv3 sont également disponibles en tant que machines virtuelles contraintes, ce qui vous offre une grande flexibilité pour le dimensionnement.

Si vous comparez étroitement les figures 1 et 2, vous verrez un ensemble de choix beaucoup plus favorable pour le nombre de vCPU, les quantités de RAM et le débit maximal du disque non mis en cache avec les choix de VM contraints de la figure 2.

Figure 1 :Spécifications régulières de la série Esv3 (cliquez pour agrandir)

En particulier, j'aime les tailles Standard_E16-4s_v3, Standard_E32-8s_v3, Standard_E48-12s_v3 et Standard_E64-16s_v3 pour SQL Server car elles ont une combinaison extrêmement agréable de nombre de cœurs relativement faible, de capacité de mémoire élevée et de débit de disque élevé par rapport à la autres choix disponibles dans cette série.

Ce sont toutes des offres limitées qui n'utilisent qu'un quart des cœurs vCPU disponibles de l'offre standard. Les autres choix de la figure 2 utilisent tous la moitié des cœurs vCPU disponibles de l'offre standard, avec les mêmes limites de débit de mémoire et de disque, ce qui doublerait votre coût de licence avec un débit de RAM et de disque inférieur à celui que vous pourriez obtenir autrement avec un meilleur choix. .

Figure 2 :Spécifications de la série Esv3 avec contraintes (cliquez pour agrandir)

Par exemple, comparez les trois choix de VM possibles illustrés à la figure 3. En choisissant judicieusement parmi les choix limités à un nombre de vCPU particulier, vous pouvez obtenir entre 2 et 4 fois le débit de la mémoire et du disque pour le même coût de licence SQL Server.

Gardez à l'esprit que le coût de calcul, qui inclut la licence du système d'exploitation, reste le même que la taille de vCPU d'origine à partir de laquelle la taille contrainte a été dérivée.

Figure 3 :Spécifications comparatives des vCPU de la série 8 Esv3 (cliquez pour agrandir)

Série Esv4

La série Esv4 est un autre choix bien adapté aux charges de travail OLTP et DW. Ces machines virtuelles utilisent le nouveau processeur AMD EPYC 7452 (Rome) 7 nm 2,35 GHz. Ce processeur a 32C/64T, une horloge de base de 2,35 GHz, une horloge boost maximale jusqu'à 3,35 GHz, 128 Mo de cache L3, 128 voies PCIe 4.0 et 2 To de capacité de RAM. Les machines virtuelles Azure de cette série commencent avec le Standard_E2as_v4 avec 2 vCPU et 16 Go de RAM, et se terminent avec le Standard_E96as_v4 avec 96 vCPU et 672 Go de RAM. La série Esv4 est évaluée à 230-260 unités de calcul Azure (ACU).

Le processeur AMD EPYC 7452 est en fait nettement plus rapide pour les performances du processeur monothread que le processeur Intel Xeon Platinum 8171M selon mes calculs de score TPC-E estimés. L'AMD EPYC 7452 a un score/cœur TPC-E estimé à 67,64, tandis que l'Intel Xeon Platinum 8171M a un score/cœur TPC-E estimé à 49,55. Je pense que cela est dû à l'IPC plus élevé et à la vitesse d'horloge de base plus élevée du processeur AMD.

La figure 4 montre les spécifications pertinentes pour la plupart des tailles de machines virtuelles de la série Esv4. D'après ce que je peux dire, Microsoft n'offre pas encore de versions contraintes des machines virtuelles de la série Esv4. Espérons qu'ils le feront à l'avenir.

Figure 4 :Spécifications de la série Esv4 sélectionnée (cliquez pour agrandir)

Conclusion

Lorsque vous utilisez des machines virtuelles Azure pour les charges de travail SQL Server, vous devez passer un peu de temps à évaluer les différentes séries et tailles de machines virtuelles Azure disponibles dans votre région préférée. Microsoft utilise différents processeurs sur mesure dans différentes séries de machines virtuelles et parfois dans la même série de machines virtuelles. Faire ce type d'analyse de vos choix disponibles pour les séries et le dimensionnement de machines virtuelles devrait être l'une de vos tâches initiales. Si possible, essayez de tirer parti des offres limitées proposées par Microsoft, car elles offrent un excellent rapport qualité-prix pour SQL Server.

Une fois que vous avez sélectionné une série et une taille de machine virtuelle, je ferais quelques tests rapides de CPU et de stockage, tels que CPU-Z, Geekbench 5 et CrystalDiskMark 7 comme vérification initiale (avant même d'installer SQL Server). Cela vous permettra de comparer vos machines virtuelles Azure entre elles, ainsi qu'avec votre matériel et votre stockage sur site hérités. Tim Radney a un excellent article sur ce processus (pour le stockage).