Plus tôt cette année, j'ai écrit sur la comparaison des performances des machines virtuelles Windows Azure, en utilisant Geekbench 3.1.5 en mode d'essai 32 bits pour mesurer les performances du processeur et de la mémoire d'un certain nombre de machines virtuelles Windows Azure de différentes tailles. Celles-ci allaient d'une machine virtuelle A0 de base à une machine virtuelle A7 standard, qui était la plus grande machine virtuelle disponible à l'époque. Ces machines se trouvaient toutes dans le centre de données US East Azure, et elles utilisaient toutes l'ancien matériel hôte Azure Gen 2, qui intègre l'ancien processeur relativement lent AMD Opteron 4171 HE.
Par conséquent, les résultats Geekbench pour ces machines étaient assez faibles, à la fois pour les scores monocœur et multicœur, comme vous pouvez le voir dans le tableau 1.
Taille de la machine virtuelle | Cœurs de processeur | Mémoire | Coût mensuel | Score monocœur | Score multicœur |
---|---|---|---|---|---|
A0 de base | 1 (partagé) | 768 Mo | 14 $ | 507 | 498 |
A1 de base | 1 | 1,75 Go | 56 $ | 679 | 670 |
A2 de base | 2 | 3,5 Go | 111 $ | 709 | 1 358 |
A3 de base | 4 | 7 Go | 221 $ | 717 | 2 472 |
A4 de base | 8 | 14 Go | 441 $ | 724 | 4 042 |
Norme A0 | 1 (partagé) | 768 Mo | 15 $ | 492 | 502 |
Norme A1 | 1 | 1,75 Go | 67 $ | 1 068 | 1 083 |
Norme A2 | 2 | 3,5 Go | 134 $ | 1 069 | 2 002 |
Norme A3 | 4 | 7 Go | 268 $ | 1 070 | 3 593 |
A4 standard | 8 | 14 Go | 536 $ | 1 094 | 6 446 |
Norme A5 | 2 | 14 Go | 246 $ | 1 080 | 2 026 |
Norme A6 | 4 | 28 Go | 492 $ | 1 080 | 3 686 |
Norme A7 | 8 | 56 Go | 983 $ | 1 056 | 6 185 |
Tableau 1 :Spécifications de machines virtuelles sélectionnées pour Windows Azure dans le centre de données de l'est des États-Unis
Même la plus grande machine virtuelle A7 standard se compare assez mal à un ordinateur portable moderne moyen, tant pour les performances monocœur que multicœur. Dans Geekbench, le score monocœur mesure les performances monothread du processeur, qui correspondent essentiellement à la vitesse brute du processeur. Les performances monothread sont très importantes pour les charges de travail OLTP, où la plupart des requêtes s'exécutent sur un seul cœur de processeur. Le score multicœur mesure la capacité globale du processeur du système, ce qui équivaut à la quantité de charge de travail simultanée que vous pouvez prendre en charge. Bien que de nombreuses charges de travail SQL Server plus petites puissent fonctionner parfaitement avec ce niveau de performances et de capacité de machine virtuelle, en tant que DBA, je ne serais pas très heureux d'utiliser du matériel Azure Gen 2 plus ancien pour mes machines virtuelles SQL Server.
Plus récemment, Microsoft a mis à disposition des machines virtuelles Standard A8 et A9 Azure Compute Intensive plus grandes et beaucoup plus rapides. Ces machines virtuelles sont équipées de processeurs Intel Xeon E5-2670 Sandy Bridge-EP 32 nm beaucoup plus récents et plus rapides, qui ont été initialement lancés au premier trimestre de 2012. Ce processeur particulier possède huit cœurs physiques (plus l'hyper-threading); avec une vitesse d'horloge de base de 2,6 GHz et une vitesse d'horloge Turbo Boost de 3,3 GHz. Ce processeur était à deux pas du processeur Xeon E5-2690 à huit cœurs "haut de gamme", mais il s'agit en fait d'un processeur assez décent. Une autre fonctionnalité très importante qui accompagne ces nouvelles tailles de VM est la mise en réseau InfiniBand à 40 Gbit/s, qui vous offre le potentiel de bien meilleures performances d'E/S.
Taille de la machine virtuelle | Cœurs de processeur | Mémoire | Coût mensuel | Score monocœur | Score multicœur |
---|---|---|---|---|---|
Norme A8 | 8 | 56 Go | 1 823 $ | 2 484 | 15 376 |
Norme A9 | 16 | 112 Go | 3 646 $ | 2 477 | 28 523 |
Tableau 2 :Spécifications de machines virtuelles sélectionnées pour Windows Azure dans le centre de données de l'est des États-Unis
Comme vous pouvez le voir dans le tableau 2, ces nouvelles machines virtuelles Azure à calcul intensif ont de bien meilleurs scores monocœur et multicœur dans Geekbench. Ils ont également des coûts mensuels nettement plus élevés. En regardant ces coûts mensuels d'un point de vue matériel direct, vous pouvez acheter un tout nouveau serveur Dell PowerEdge R720 avec deux nouveaux processeurs Intel Xeon E5-2667 v2 Ivy Bridge-EP à huit cœurs de 22 nm et 192 Go de RAM pour environ 10 000,00 $, soit environ trois mois de temps standard A9. Avec un serveur physique sur site, vous auriez également des coûts d'alimentation et de refroidissement, ainsi que des coûts de maintenance et d'administration permanents. Vous auriez également un délai plus long pour commander et recevoir un serveur physique, puis le monter en rack, le câbler et le configurer. Ce processus prend généralement environ trois à quatre semaines dans la plupart des entreprises, mais peut être beaucoup plus long. Là où l'histoire économique change, c'est lorsque vous incluez les coûts de votre licence SQL Server 2012/2014 Enterprise Edition, qui s'élèveraient à environ 110 000,00 $ pour les licences à 16 cœurs de processeur, ce qui représenterait environ 30 mois de temps Standard A9 aux prix actuels. Si vous utilisez une image de machine virtuelle Azure de la galerie standard d'images de machine virtuelle de Microsoft, vous n'avez pas à payer pour vos licences de système d'exploitation ou SQL Server.
Pendant que je faisais ce test, j'ai remarqué quelques autres différences intéressantes entre une machine virtuelle Azure et un serveur physique similaire. Le premier était le fait que les machines virtuelles Azure Standard A8 et A9 semblent utiliser une sorte de gestion de l'alimentation au niveau de l'hôte ou de l'hyperviseur, de sorte qu'Intel Turbo Boost n'est pas utilisé. Lorsque j'exécute Geekbench sur le système et que je regarde CPU-Z pendant le test, la vitesse du cœur du processeur reste à la vitesse d'horloge de base nominale pendant tout le test. Si la gestion de l'alimentation est correctement configurée à tous les niveaux et si Turbo Boost est activé dans le BIOS de l'hôte, vous devriez voir la vitesse du cœur du processeur augmenter périodiquement jusqu'à la vitesse d'horloge complète de 3,3 GHz Turbo Boost pendant l'exécution du test. Cela ne se produit pas avec les machines virtuelles Azure A8 et A9, ce qui nuit au score Geekbench 3.1.6 monocœur d'environ 10 %. Les différences de vitesse des cœurs de processeur sont illustrées dans les figures 1 et 2.
Figure 1 :CPU-Z pour la machine virtuelle Azure A9 standard pendant Geekbench test lancé
Figure 2 :CPU-Z pour Dell PowerEdge R720 lors du test Geekbench courir
Quels sont donc les principaux enseignements tirés de ces expérimentations ? Tout d'abord, il semble évident que vous pouvez obtenir des performances de machine virtuelle presque équivalentes à partir d'une machine virtuelle Azure A9 standard comme vous pouvez le faire à partir d'un serveur physique à deux sockets de taille similaire (utilisant le même processeur), comme un Dell PowerEdge R720 ou un HP ProLiant DL380 G8 . Vous utiliserez un processeur Sandy Bridge-EP de milieu de gamme légèrement plus ancien, sans l'avantage d'Intel Turbo Boost activé, vous perdrez donc un total d'environ 40 % des performances de votre processeur monothread par rapport à un millésime actuel. Intel Xeon E5-2667 v2 dans un nouveau serveur physique sur site.
Un autre problème potentiel est la limite de mémoire de 112 Go pour la machine virtuelle Azure A9 standard, contre 384 Go dans un serveur physique sur site (avec des modules DIMM de 16 Go). Si votre charge de travail de base de données peut fonctionner correctement avec un pool de mémoire tampon SQL Server d'environ 95 Go, cela ne devrait pas poser de problème. Sinon, vous pourriez ne pas être trop satisfait de votre performance. Vous voudrez également effectuer des tests d'E/S et des analyses comparatives pour déterminer les performances de la machine virtuelle Azure A9 et si elle peut gérer votre charge de travail.
Enfin, vous devez tenir compte de l'économie de l'utilisation d'une image de machine virtuelle de galerie Azure standard, où les coûts de licence SQL Server 2014 sont inclus dans le cadre de votre coût Azure mensuel. Selon la durée pendant laquelle vous pensez que votre instance sera en service, l'utilisation d'une machine virtuelle Azure peut être une très bonne affaire ou pas une si bonne affaire. Un facteur susceptible d'influencer ce calcul est la probabilité que les prix des machines virtuelles Azure baissent avec le temps.