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

Sviluppi di macchine virtuali di Azure per l'utilizzo di SQL Server

Microsoft ha un gran numero di diverse serie e dimensioni di macchine virtuali di Azure disponibili se sei interessato a usare l'opzione IaaS (Infrastructure as a Service) per l'hosting di istanze di SQL Server. Una decisione iniziale che dovrai prendere riguarda la serie e la dimensione della macchina virtuale di Azure che vuoi usare per il tuo particolare carico di lavoro di SQL Server.

Per l'utilizzo di SQL Server in locale, si desidera eseguire un'analisi attenta del carico di lavoro e dei modelli di server e di processore disponibili al fine di ottenere un server con la scelta del processore appropriata per ridurre al minimo i costi di licenza di SQL Server e ottenere le migliori prestazioni e capacità possibile a un determinato costo di licenza di SQL Server. La differenza in termini di costi e prestazioni tra una buona scelta di processore e una cattiva scelta di processore può essere piuttosto notevole.

Con una macchina virtuale di Azure è necessario eseguire un'analisi simile, ma per motivi leggermente diversi. Il costo della licenza di SQL Server in una macchina virtuale di Azure è direttamente correlato al numero di core nella macchina virtuale. Vuoi scegliere una dimensione della VM che corrisponda alle tue esigenze attese in termini di prestazioni e capacità della CPU, capacità di memoria e prestazioni di archiviazione.

A differenza di uno scenario locale, avrai un controllo molto inferiore sulla scelta del processore effettivo nel computer host sottostante. Con una macchina virtuale di Azure, scegli una serie di macchine particolari (ad esempio una serie GS) e le dimensioni in un determinato centro dati di Azure, quindi ottieni qualsiasi processore utilizzato da Microsoft per quella serie e dimensione in quel centro dati di Azure. Attualmente Microsoft dispone di 42 aree diverse che dispongono di data center di Azure, quindi puoi usare la matrice mostrata in questa pagina per scoprire quali serie di macchine virtuali sono offerte in ciascuna area.

Unità di calcolo di Azure (ACU)

Un concetto molto importante da comprendere quando si confronta e si seleziona uno SKU di VM di Azure è l'unità di calcolo di Azure (ACU), che consente di confrontare le prestazioni di calcolo (per prestazioni di vCPU core) tra diversi SKU di VM di Azure. Questa misurazione ACU è attualmente standardizzata su una macchina virtuale piccola (Standard_A1) con un punteggio di 100 e tutti gli altri SKU di Azure hanno quindi punteggi ACU che rappresentano approssimativamente quanto più velocemente quella particolare SKU di Azure può eseguire un benchmark CPU standard. Quindi, ad esempio, uno Standard_A1 ha un punteggio ACU/vCPU di 100 mentre uno Standard_GS5 ha un punteggio ACU/vCPU di 240.

L'analisi del punteggio ACU per uno SKU di una macchina virtuale di Azure offre un'idea decente delle prestazioni della CPU a thread singolo del processore usato nel computer host sottostante. È anche importante capire se quel particolare processore supporta Intel Turbo Boost e/o Intel Hyper-Threading, poiché non tutti i processori usati nei vari SKU di macchine virtuali di Azure supportano queste tecnologie.

Puoi farlo identificando la CPU host effettiva nella tua VM nella pagina CPU della scheda Prestazioni di Task Manager di Windows o usando un'utilità come CPU-Z. Dopo aver identificato il modello esatto del processore nell'host, puoi utilizzare il database Intel ARK online per ottenere i dettagli specifici su quel processore.

Nuove dimensioni delle macchine virtuali di Azure per SQL Server

Un problema comune con il dimensionamento delle macchine virtuali di Azure per SQL Server è stato il fatto che spesso si è costretti a selezionare una dimensione della macchina virtuale con molti più core della CPU virtuale di quelli necessari o desiderati per disporre di memoria e prestazioni di archiviazione sufficienti per supportare il carico di lavoro, che ha aumentato il costo mensile della licenza.

Fortunatamente, Microsoft ha recentemente semplificato il processo decisionale per SQL Server con una nuova serie di macchine virtuali di Azure che utilizzano alcune dimensioni di macchine virtuali particolari (DS, ES, GS e MS), ma riducono il conteggio delle vCPU a un quarto o alla metà della dimensione originale della VM, pur mantenendo la stessa memoria, storage e larghezza di banda di I/O. Queste nuove dimensioni di VM hanno un suffisso che specifica il numero di vCPU attive per facilitarne l'identificazione.

Ad esempio, una macchina virtuale di Azure Standard_DS14v2 avrebbe 16 vCPU, 112 GB di RAM e supporterebbe fino a 51.200 IOPS o 768 MB/sec di velocità effettiva sequenziale (secondo Microsoft). Una nuova macchina virtuale di Azure Standard_DS14-8v2 avrebbe solo 8 vCPU, con la stessa capacità di memoria e le stesse prestazioni del disco di Standard_DS14v2, il che ridurrebbe del 50% il costo della licenza di SQL Server all'anno. Entrambi questi SKU di macchine virtuali di Azure avrebbero lo stesso punteggio ACU di 160.

Un problema alquanto confuso con questi nuovi SKU di macchine virtuali di Azure è che il costo mensile di calcolo (che include la licenza del sistema operativo) per entrambi questi SKU sarebbe lo stesso ($ 989,52/mese per questo esempio). Dove risparmi sono i costi di licenza mensili ridotti di SQL Server.

In sostanza, ciò che Microsoft sta facendo qui è disabilitare i core nella macchina virtuale per ridurre i costi di licenza di SQL Server, cosa che non è consentito fare con SQL Server locale. Con SQL Server locale, non è consentito disabilitare i core del processore nell'UEFI/BIOS per ridurre i costi della licenza di SQL Server. Anche se disabiliti i core in UEFI/BIOS, devi comunque concedere in licenza quei core per SQL Server.

Eseguire l'analisi comparativa della VM di Azure con CPU-Z

Un benchmark CPU molto rapido su cui puoi eseguire qualsiasi macchina (fisica o virtuale, VM di Azure o meno) è il benchmark CPU-Z integrato, che richiede solo circa 20 secondi per essere completato. Ho creato un DS14-8_v2 standard nel centro dati degli Stati Uniti centromeridionali. Questa macchina virtuale utilizzava il processore Intel Xeon E5-2673 v3 Haswell-EP, che è un processore a 12 core con una velocità di clock di base di 2,4 GHz e una velocità di clock Turbo di 3,2 GHz che sembra essere uno speciale SKU del processore su misura che non è nel database Intel Ark. Questa famiglia di processori è stata introdotta nel terzo trimestre del 2014, quindi è disponibile da oltre tre anni. Su questa particolare VM, non ho visto l'uso di Turbo Boost durante i miei test.

Osservando le figure da 1 a 3, puoi vedere i risultati del benchmark CPU-Z per questa macchina virtuale di Azure, con la figura 4 come risultati per il mio laptop Dell Precision 5520 certamente veloce. Il mio laptop ha lo stesso numero di core virtuali della macchina virtuale Azure DS14-8_v2 standard, ma sto usando un processore Intel Xeon E3-1505M v6 Kaby Lake molto più recente con una velocità di clock di base più elevata e migliori prestazioni single-thread.

Figura 1:Task Manager da DS14-8_v2 standard negli Stati Uniti centromeridionali

Figura 2:scheda CPU-Z CPU da DS14-8_v2 standard negli Stati Uniti centromeridionali

Figura 3:scheda CPU-Z Bench da DS14-8_v2 standard negli Stati Uniti centromeridionali

Figura 4:scheda CPU-Z Bench dal laptop di Glenn