sql >> Database >  >> RDS >> Database

Windows Azure VM-prestaties vergelijken, deel 2

Eerder dit jaar schreef ik over het vergelijken van Windows Azure VM-prestaties, waarbij Geekbench 3.1.5 in 32-bits proefmodus wordt gebruikt om de processor- en geheugenprestaties van een aantal Windows Azure-VM's van verschillende grootte te meten. Deze varieerden van een Basic A0 VM tot een Standard A7 VM, die op dat moment de grootste beschikbare VM was. Deze machines bevonden zich allemaal in het Amerikaanse East Azure-datacenter en ze gebruikten allemaal de oudere Azure Gen 2-hosthardware, die de oude en relatief trage AMD Opteron 4171 HE-processor bevat.

Bijgevolg waren de Geekbench-resultaten voor deze machines vrij laag, zowel voor de single-core als de multi-core scores, zoals je kunt zien in tabel 1.

VM-grootte CPU-kernen Geheugen Maandelijkse kosten Single-Core Score Multi-Core-score
Basis A0 1 (gedeeld) 768 MB $14 507 498
Basis A1 1 1,75 GB $56 679 670
Basis A2 2 3,5 GB $111 709 1.358
Basis A3 4 7 GB $221 717 2.472
Basis A4 8 14 GB $441 724 4042
Standaard A0 1 (gedeeld) 768 MB $15 492 502
Standaard A1 1 1,75 GB $67 1068 1.083
Standaard A2 2 3,5 GB $134 1069 2.002
Standaard A3 4 7 GB $268 1.070 3.593
Standaard A4 8 14 GB $536 1094 6.446
Standaard A5 2 14 GB $246 1.080 2.026
Standaard A6 4 28 GB $ 492 1.080 3.686
Standaard A7 8 56 GB $983 1056 6.185

Tabel 1:Geselecteerde specificaties van virtuele machines voor Windows Azure in het datacenter in het oosten van de VS

Zelfs de grootste Standard A7 VM was behoorlijk slecht vergeleken met een gemiddelde moderne laptop, zowel voor single-core als multi-core prestaties. In Geekbench meet de single-core score de single-threaded prestaties van de processor, wat in feite de onbewerkte snelheid van de processor is. Single-threaded prestaties zijn erg belangrijk voor OLTP-workloads, waarbij de meeste query's op één processorkern worden uitgevoerd. De multi-core score meet de algehele processorcapaciteit van het systeem, wat overeenkomt met hoeveel gelijktijdige werkbelasting u kunt ondersteunen. Hoewel veel kleinere SQL Server-workloads perfect zouden kunnen werken met dit niveau van VM-prestaties en capaciteit, zou ik als DBA niet erg blij zijn met het gebruik van oudere Azure Gen 2-hardware voor mijn SQL Server-VM's.

Meer recentelijk heeft Microsoft grotere en veel snellere Standard A8 en A9 Azure Compute Intensive virtuele machines beschikbaar gesteld. Deze VM's zijn voorzien van veel nieuwere en snellere 32nm Intel Xeon E5-2670 Sandy Bridge-EP-processors, die oorspronkelijk werden uitgebracht in het eerste kwartaal van 2012. Deze specifieke processor heeft acht fysieke kernen (plus hyper-threading); met een basiskloksnelheid van 2,6 GHz en een Turbo Boost-kloksnelheid van 3,3 GHz. Deze processor was twee stappen lager dan de "top van de lijn" acht-core Xeon E5-2690-processor, maar het is eigenlijk een behoorlijk behoorlijke processor. Een andere zeer belangrijke functie die bij deze nieuwe VM-grootten wordt geleverd, is 40 Gbit/s InfiniBand-netwerken, wat u het potentieel geeft van veel betere I/O-prestaties.

VM-grootte CPU-kernen Geheugen Maandelijkse kosten Single-Core Score Multi-Core-score
Standaard A8 8 56 GB $1.823 2.484 15.376
Standaard A9 16 112 GB $3.646 2.477 28.523

Tabel 2:Geselecteerde specificaties van virtuele machines voor Windows Azure in het datacenter in het oosten van de VS

Zoals u in tabel 2 kunt zien, hebben deze nieuwe Compute Intensive Azure VM's veel betere single-core en multi-core scores in Geekbench. Ze hebben ook aanzienlijk hogere maandlasten. Als u deze maandelijkse kosten vanuit een puur hardwareperspectief bekijkt, kunt u een gloednieuwe Dell PowerEdge R720-server kopen met twee nieuwere 22nm, acht-core Intel Xeon E5-2667 v2 Ivy Bridge-EP-processors en 192 GB RAM voor ongeveer $ 10.000,00, wat is ongeveer drie maanden standaard A9-tijd. Met een on-premises, fysieke server zou u ook stroom- en koelingskosten hebben, naast doorlopend onderhoud en administratieve kosten. U zou ook een langere doorlooptijd hebben om een ​​fysieke server te bestellen en te ontvangen, en deze vervolgens in een rack, bekabeld en geconfigureerd te krijgen. Dit proces duurt bij de meeste bedrijven doorgaans drie tot vier weken, maar kan veel langer duren. Waar het economische verhaal verandert, is wanneer u uw licentiekosten voor SQL Server 2012/2014 Enterprise Edition meetelt, die ongeveer $ 110.000,00 zouden zijn voor 16 processorkernlicenties, wat neerkomt op ongeveer 30 maanden Standard A9-tijd tegen huidige prijzen. Als u een Azure VM-image gebruikt uit de standaardgalerij van VM-images van Microsoft, hoeft u niet te betalen voor uw OS- of SQL Server-licenties.

Terwijl ik deze test deed, merkte ik een paar andere interessante verschillen op tussen een Azure-VM en een vergelijkbare fysieke server. De eerste was het feit dat de Azure Standard A8- en A9-VM's een soort energiebeheer lijken te gebruiken op host- of hypervisorniveau, zodat Intel Turbo Boost niet wordt gebruikt. Wanneer ik Geekbench op het systeem uitvoer en tijdens de testrun naar CPU-Z kijk, blijft de processorkernsnelheid gedurende de hele testrun op de nominale basiskloksnelheid. Als het energiebeheer op alle niveaus correct is geconfigureerd en als Turbo Boost is ingeschakeld in het host-BIOS, zou u de processorkernsnelheid regelmatig moeten zien stijgen naar de volledige 3,3 GHz Turbo Boost-kloksnelheid tijdens de testrun. Dit gebeurt niet met de A8 en A9 Azure VM's, wat de single-core Geekbench 3.1.6-score met ongeveer 10% schaadt. De verschillen in processorkernsnelheden worden weergegeven in afbeeldingen 1 en 2.


Figuur 1:CPU-Z voor Standard A9 Azure VM tijdens Geekbench proefdraaien


Afbeelding 2:CPU-Z voor Dell PowerEdge R720 tijdens Geekbench-test rennen

Dus wat zijn de belangrijkste lessen die uit deze experimenten zijn getrokken? Ten eerste lijkt het duidelijk dat u bijna dezelfde VM-prestaties kunt krijgen van een standaard A9 Azure VM als van een vergelijkbare fysieke server met twee sockets (met dezelfde processor), zoals een Dell PowerEdge R720 of een HP ProLiant DL380 G8 . U gebruikt een iets oudere Sandy Bridge-EP-processor uit het middensegment, zonder dat het voordeel van Intel Turbo Boost is ingeschakeld, dus u verliest in totaal ongeveer 40% van uw single-threaded processorprestaties vergeleken met een huidige vintage Intel Xeon E5-2667 v2 in een nieuwe fysieke server op locatie.

Een ander potentieel probleem is de geheugenlimiet van 112 GB voor de Standard A9 Azure VM, vergeleken met 384 GB in een fysieke, on-premises server (met 16 GB DIMM's). Als uw database-workload goed kan werken met een SQL Server-bufferpool van ongeveer 95 GB, dan zou dit geen probleem moeten zijn. Anders ben je misschien niet zo blij met je prestaties. U zou ook wat I/O-tests en benchmarking willen doen om te bepalen hoe goed de A9 Azure VM presteert en of deze uw werkbelasting aankan.

Ten slotte moet u rekening houden met de kosten van het gebruik van een standaard Azure Gallery VM-image, waarbij de SQL Server 2014-licentiekosten zijn opgenomen als onderdeel van uw maandelijkse Azure-kosten. Afhankelijk van hoe lang u denkt dat uw instantie in gebruik zal zijn, kan het gebruik van een Azure-VM een zeer goede deal zijn of niet zo'n goede deal. Een factor die deze berekening kan beïnvloeden, is de kans dat de prijzen van Azure VM's in de loop van de tijd dalen.


  1. Stopwoorden en Stoplist gebruiken om SQL Server Full-Text Search (FTS) te verbeteren

  2. PL/SQL Bulk Collect met LIMIT-clausule in Oracle Database

  3. Datums vergelijken die zijn opgeslagen als varchar

  4. PHP - CSV-bestand importeren in mysql-database met behulp van LOAD DATA INFILE