Database
 sql >> Database >  >> RDS >> Database

Confronto delle prestazioni delle macchine virtuali Windows Azure, parte 2

All'inizio di quest'anno, ho scritto sul confronto delle prestazioni delle VM di Windows Azure, utilizzando Geekbench 3.1.5 in modalità di prova a 32 bit per misurare le prestazioni del processore e della memoria di un numero di VM Windows Azure di dimensioni diverse. Questi andavano da una macchina virtuale A0 di base fino a una macchina virtuale A7 standard, che era la più grande macchina virtuale disponibile in quel momento. Queste macchine si trovavano tutte nel data center di Azure orientale degli Stati Uniti e tutte utilizzavano il vecchio hardware host di Azure Gen 2, che presenta il vecchio processore AMD Opteron 4171 HE relativamente lento.

Di conseguenza, i risultati di Geekbench per queste macchine erano piuttosto bassi, sia per i punteggi single-core che multi-core, come puoi vedere nella Tabella 1.

Dimensione VM CPU Core Memoria Costo mensile Punteggio single-core Punteggio multicore
A0 di base 1 (condivisa) 768 MB $14 507 498
A1 di base 1 1,75 GB $56 679 670
A2 di base 2 3,5 GB $111 709 1.358
A3 di base 4 7 GB $221 717 2.472
A4 di base 8 14 GB $441 724 4.042
Standard A0 1 (condivisa) 768 MB $15 492 502
Standard A1 1 1,75 GB $67 1.068 1.083
Standard A2 2 3,5 GB $134 1.069 2.002
Standard A3 4 7 GB $268 1.070 3.593
Standard A4 8 14 GB $536 1.094 6.446
Standard A5 2 14 GB $246 1.080 2.026
Standard A6 4 28 GB $492 1.080 3.686
Standard A7 8 56 GB $983 1.056 6.185

Tabella 1:specifiche delle macchine virtuali selezionate per Windows Azure nel data center degli Stati Uniti orientali

Anche la più grande macchina virtuale A7 standard ha un confronto piuttosto scarso con un laptop medio moderno, sia per le prestazioni single-core che multi-core. In Geekbench, il punteggio single-core misura le prestazioni single-thread del processore, che è fondamentalmente la velocità grezza del processore. Le prestazioni a thread singolo sono molto importanti per i carichi di lavoro OLTP, in cui la maggior parte delle query viene eseguita su un unico core del processore. Il punteggio multi-core misura la capacità complessiva del processore del sistema, che equivale a quanto carico di lavoro simultaneo è possibile supportare. Sebbene molti carichi di lavoro di SQL Server più piccoli possano funzionare perfettamente con questo livello di prestazioni e capacità delle macchine virtuali, come DBA non sarei molto felice di usare hardware Azure Gen 2 precedente per le mie macchine virtuali SQL Server.

Più recentemente, Microsoft ha reso disponibili macchine virtuali Azure Compute Intensive standard A8 e A9 più grandi e molto più veloci. Queste macchine virtuali sono dotate di processori Intel Xeon E5-2670 Sandy Bridge-EP a 32 nm molto più recenti e veloci, inizialmente rilasciati nel primo trimestre del 2012. Questo particolare processore ha otto core fisici (più hyper-threading); con una velocità di clock di base di 2,6 GHz e una velocità di clock Turbo Boost di 3,3 GHz. Questo processore era due gradini indietro rispetto al processore Xeon E5-2690 a otto core "top di gamma", ma in realtà è un processore abbastanza decente. Un'altra caratteristica molto importante fornita con queste nuove dimensioni di VM è la rete InfiniBand a 40 Gbit/s, che offre il potenziale di prestazioni I/O molto migliori.

Dimensione VM CPU Core Memoria Costo mensile Punteggio single-core Punteggio multicore
Standard A8 8 56 GB $1.823 2.484 15.376
Standard A9 16 112 GB $ 3.646 2.477 28.523

Tabella 2:specifiche delle macchine virtuali selezionate per Windows Azure nel data center degli Stati Uniti orientali

Come puoi vedere nella tabella 2, queste nuove macchine virtuali di Azure per il calcolo intensivo hanno punteggi single-core e multi-core molto migliori in Geekbench. Hanno anche costi mensili significativamente più elevati. Considerando questi costi mensili da una prospettiva hardware diretta, è possibile acquistare un server Dell PowerEdge R720 nuovo di zecca con due nuovi processori Intel Xeon E5-2667 v2 a otto core da 22 nm Ivy Bridge-EP e 192 GB di RAM per circa $ 10.000,00, che è circa tre mesi di tempo Standard A9. Con un server fisico locale, avresti anche costi di alimentazione e raffreddamento, oltre a costi amministrativi e di manutenzione continui. Avresti anche un tempo di consegna più lungo per ordinare e ricevere un server fisico, quindi averlo in rack, cablato e configurato. Questo processo richiede in genere da tre a quattro settimane nella maggior parte delle aziende, ma può essere molto più lungo. Il punto in cui la storia economica cambia è quando includi i costi della licenza di SQL Server 2012/2014 Enterprise Edition, che sarebbero circa $ 110.000,00 per 16 licenze di core del processore, che ammonterebbero a circa 30 mesi di tempo Standard A9 ai prezzi correnti. Se usi un'immagine di VM di Azure dalla raccolta standard di immagini di VM di Microsoft, non devi pagare per il tuo sistema operativo o le licenze di SQL Server.

Durante questo test, ho notato alcune altre differenze interessanti tra una macchina virtuale di Azure e un server fisico simile. Il primo è stato il fatto che le VM Azure Standard A8 e A9 sembrano utilizzare una sorta di gestione dell'alimentazione a livello di host o hypervisor in modo che Intel Turbo Boost non venga utilizzato. Quando eseguo Geekbench sul sistema e guardo CPU-Z durante il test, la velocità del core del processore rimane alla velocità di clock di base nominale durante l'intero test. Se la gestione dell'alimentazione è configurata correttamente a tutti i livelli e se Turbo Boost è abilitato nel BIOS host, dovresti vedere la velocità del core del processore saltare periodicamente alla velocità di clock Turbo Boost completa di 3,3 GHz durante l'esecuzione del test. Ciò non accade con le VM Azure A8 e A9, che danneggiano il punteggio Geekbench 3.1.6 single-core di circa il 10%. Le differenze nelle velocità del core del processore sono mostrate nelle Figure 1 e 2.


Figura 1:CPU-Z per VM Azure A9 standard durante Geekbench prova


Figura 2:CPU-Z per Dell PowerEdge R720 durante il test Geekbench corri

Quindi quali sono le principali lezioni apprese da questi esperimenti? Innanzitutto, sembra evidente che è possibile ottenere prestazioni VM quasi equivalenti da una VM Azure A9 standard come da un server fisico a due socket di dimensioni simili (utilizzando lo stesso processore), come un Dell PowerEdge R720 o un HP ProLiant DL380 G8 . Utilizzerai un processore Sandy Bridge-EP di fascia media leggermente più vecchio, senza il vantaggio di Intel Turbo Boost abilitato, quindi perderai un totale di circa il 40% delle prestazioni del tuo processore single-thread rispetto a un vintage attuale Intel Xeon E5-2667 v2 in un nuovo server fisico locale.

Un altro potenziale problema è il limite di memoria di 112 GB per la macchina virtuale di Azure A9 standard, rispetto a 384 GB in un server fisico locale (con DIMM da 16 GB). Se il carico di lavoro del database può essere eseguito correttamente con un pool di buffer SQL Server di circa 95 GB, questo non dovrebbe essere un problema. Altrimenti, potresti non essere troppo soddisfatto della tua performance. Si consiglia inoltre di eseguire alcuni test di I/O e benchmarking per determinare le prestazioni della macchina virtuale di Azure A9 e se è in grado di gestire il carico di lavoro.

Infine, è necessario considerare l'aspetto economico dell'uso di un'immagine VM della raccolta di Azure standard, in cui i costi della licenza di SQL Server 2014 sono inclusi come parte del costo mensile di Azure. A seconda della durata del servizio dell'istanza, l'uso di una macchina virtuale di Azure potrebbe essere un ottimo affare o meno. Un fattore che potrebbe influenzare questo calcolo è la probabilità che i prezzi delle macchine virtuali di Azure diminuiscano nel tempo.