Dimensioni della macchina virtuale: procedure consigliate per le prestazioni per SQL Server nelle macchine virtuali di Azure

Si applica a: SQL Server su VM di Azure

Questo articolo fornisce indicazioni sulle dimensioni delle macchine virtuali e una serie di procedure consigliate e linee guida per ottimizzare le prestazioni di SQL Server in Macchine Virtuali (VM) di Azure.

Vi è in genere un compromesso tra l'ottimizzazione per i costi e l'ottimizzazione per le prestazioni. Questa serie di procedure consigliate per le prestazioni, è incentrata sull'ottenimento delle migliori prestazioni per SQL Server in macchine virtuali di Azure. Se il carico di lavoro è contenuto, potrebbero non essere necessarie tutte le ottimizzazioni elencate di seguito. Prendere in considerazione le esigenze di prestazione, i costi e i modelli di carico di lavoro durante la valutazione di questi elementi consigliati.

Per informazioni dettagliate, consultare gli altri articoli di questa serie: Elenco di controllo, Archiviazione, Sicurezza, Configurazione HADR, Raccolta dati di previsione.

Elenco di controllo

Esaminare l'elenco di controllo seguente per una breve panoramica delle procedure consigliate relative alle dimensioni delle VM, illustrate nel resto dell'articolo in modo più dettagliato.

  • La serie Ebdsv5 offre il rapporto massimo tra velocità effettiva di I/O e vCore in Azure, insieme a un rapporto da memoria a vCore pari a 8. Questa serie offre il miglior rapporto qualità-prezzo per i carichi di lavoro di SQL Server nelle macchine virtuali di Azure. Prendere in considerazione questa serie per la maggior parte dei carichi di lavoro di SQL Server.
  • Usare le dimensioni delle macchine virtuali con 4 o più vCPU, come ad esempio la serie E4ds_v5 o superiore.
  • Usare macchine virtuali con dimensioni ottimizzate per la memoria per ottenere prestazioni ottimali dei carichi di lavoro di SQL Server.
  • La serie Edsv5 e la serie Ebdsv5, la serie Msv3 e Mdsv3 offrono un rapporto ottimale tra memoria e vCore necessario per i carichi di lavoro OLTP.
  • Le macchine virtuali serie M offrono il rapporto massimo tra memoria e vCore in Azure. Prendere in considerazione queste macchine virtuali per carichi di lavoro OLTP e data warehouse cruciali.
  • Usare le immagini di Azure Marketplace per distribuire le Macchine virtuali di SQL Server, considerando che le impostazioni e le opzioni di archiviazione di SQL Server sono configurate per ottenere prestazioni ottimali.
  • Raccogliere le caratteristiche delle prestazioni del carico di lavoro di destinazione e usarle per determinare le dimensioni della macchina virtuale appropriate per l'azienda.
  • Usare gli strumenti di raccomandazione di Data Migration Assistant e di SKU per trovare le dimensioni corrette della macchina virtuale per il carico di lavoro di SQL Server esistente.
  • Usare Azure Data Studio per eseguire la migrazione ad Azure.

Avviso

L'installazione di SQL Server nei sistemi che superano i 64 core per ogni nodo NUMA non è attualmente supportata. Questa limitazione si applica attualmente alle dimensioni di Standard_M176s_3_v3 e Standard_M176s_4_v3 macchine virtuali di Azure all'interno della serie di memoria media Msv3 e Mdsv3.

Per confrontare l'elenco di controllo delle dimensioni della VM con altre, vedere l'elenco completo di controllo delle procedure consigliate per le prestazioni.

Panoramica

Quando si crea un'istanza di SQL Server in una macchina virtuale di Azure, considerare attentamente il tipo di carico di lavoro necessario. Se si esegue la migrazione di un ambiente esistente, raccogliere una baseline di prestazioni per determinare i requisiti di SQL Server nelle macchine virtuali di Azure. Se si tratta di una nuova macchina virtuale, creare la nuova macchina virtuale di SQL Server in base ai requisiti del fornitore.

Se si sta creando una nuova macchina virtuale di SQL Server con una nuova applicazione creata per il cloud, è possibile ridimensionare facilmente la macchina virtuale di SQL Server man mano che i dati e i requisiti di utilizzo si evolvono. Avviare gli ambienti di sviluppo con la serie D di livello inferiore, la serie B o Av2 e aumentare l'ambiente nel tempo.

Usare le immagini del marketplace delle macchine virtuali di SQL Server con la configurazione di archiviazione nel portale. In questo modo è più semplice creare correttamente i pool di archiviazione necessari per ottenere le dimensioni, le operazioni di I/O al secondo e la velocità effettiva necessarie per i carichi di lavoro. È importante scegliere macchine virtuali di SQL Server che supportano l'archiviazione Premium e la memorizzazione nella cache dell'archiviazione Premium. Per altre informazioni, vedere l'articolo Archiviazione.

Attualmente, la serie Ebdsv5 offre il rapporto massimo tra velocità effettiva di I/O e vCore disponibile in Azure. Se non si conoscono i requisiti di I/O per il carico di lavoro di SQL Server, questa serie è quella più probabile che soddisfi le esigenze. Per altre informazioni, vedere l'articolo Archiviazione.

Nota

Le dimensioni maggiori della serie Ebdsv5 (48 vCPU e superiori) offrono il supporto per l'accesso alle risorse di archiviazione abilitate per NVMe. Per sfruttare queste prestazioni di I/O elevate, è necessario distribuire la macchina virtuale usando NVMe. Il supporto NVMe per le immagini del marketplace di SQL Server sarà presto disponibile, ma per il momento è necessario installare automaticamente SQL Server per sfruttare i vantaggi di NVMe.

Il Data Warehouse di SQL Server e gli ambienti cruciali devono spesso essere ridimensionati oltre il rapporto tra memoria e vCore di 8. Per gli ambienti medi, è possibile scegliere un rapporto da 16 memoria a vCore e un rapporto da 32 memoria a vCore per ambienti data warehouse di dimensioni maggiori.

Gli ambienti di SQL Server Data Warehouse spesso traggono vantaggio dall'elaborazione parallela di computer di grandi dimensioni. Per questo motivo, la serie M e la serie Mv2 sono opzioni valide per ambienti data warehouse di dimensioni maggiori.

Usare la configurazione di vCPU e memoria dal computer di origine come baseline per la migrazione di un database SQL Server locale corrente a SQL Server in macchine virtuali di Azure. Se si ha Software Assurance, sfruttare Vantaggio Azure Hybrid per trasferire le licenze in Azure e risparmiare sui costi di licenza di SQL Server.

Macchine virtuali serie M ottimizzate per la memoria

La serie M offre il maggior numero di vCore e memoria per i carichi di lavoro più grandi di SQL Server.

Di seguito sono elencate le funzionalità delle macchine virtuali serie M:

Serie Msv3 e Mdsv3

Le macchine virtuali Msv3 e Mdsv3 sono progettate con potenza di calcolo e capacità di memoria a livelli di memoria medi, elevati e molto elevati. Queste macchine virtuali offrono prestazioni, scalabilità e resilienza migliorate rispetto alle macchine virtuali Mv2 di prima generazione.

Di seguito sono elencate le macchine virtuali di questa serie:

  • Macchine virtuali con memoria media Msv3 e Mdsv3: basate su processori scalabili Intel® Xeon® di 4a generazione e offrono dimensioni di vm fino a 4 TB di memoria, 416 vCPU, 130.000 IOPS e 4.000 MBps di velocità effettiva di archiviazione remota con l'interfaccia NVMe.
  • Macchine virtuali a memoria elevata Msv3 e Mdsv3: sono progettate per carichi di lavoro con memoria elevata con memoria compresa tra 6 TB e 16 TB, fino a 832 vCPU, fino a 260.000 operazioni di I/O al secondo e 8.000-MBps velocità effettiva fino all'archiviazione remota con l'interfaccia NVMe.
  • Mdsv3 Very High Memory Series: alimentato da processori Intel® Xeon® Platinum 8490H (Zaffiro Rapids) e hanno il footprint di memoria maggiore di qualsiasi macchina virtuale basata su serie M che offre fino a 32 TB di memoria, 1.792 vCPU, fino a 200.000 IOPS e 8.000 MBps di velocità effettiva di archiviazione remota.

Avviso

L'installazione di SQL Server nei sistemi che superano i 64 core per ogni nodo NUMA non è attualmente supportata. Questa limitazione si applica attualmente alle dimensioni delle macchine virtuali di Azure seguenti all'interno della serie di memoria media Msv3 e Mdsv3: Standard_M176s_3_v3, Standard_M176s_4_v3, Standard_M176ds_3_v3 Standard_M176ds_4_v3

Macchine virtuali serie E ottimizzate per la memoria

Le macchine virtuali serie E sono progettate per carichi di lavoro a elevato utilizzo di memoria, ad esempio database di grandi dimensioni, analisi di Big Data e applicazioni aziendali che richiedono quantità significative di RAM per mantenere prestazioni elevate.

Serie Ebdsv5

La serie Ebdsv5 è una serie ottimizzata per la memoria di macchine virtuali che offrono la massima velocità effettiva di archiviazione remota disponibile in Azure. Queste macchine virtuali hanno un rapporto da memoria a vCore di 8:1 che, insieme alla velocità effettiva di I/O elevata, li rende ideali per i carichi di lavoro di SQL Server. Le macchine virtuali serie Ebdsv5 offrono le migliori prestazioni di prezzo per i carichi di lavoro di SQL Server in esecuzione in macchine virtuali di Azure ed è consigliabile usarle per la maggior parte dei carichi di lavoro di SQL Server di produzione.

Nota

Le dimensioni maggiori della serie Ebdsv5 (48 vCPU e superiori) offrono il supporto per l'accesso alle risorse di archiviazione abilitate per NVMe. Per sfruttare queste prestazioni di I/O elevate, è necessario distribuire la macchina virtuale usando NVMe.

Serie Edsv5

La serie Edsv5 è progettata per applicazioni a elevato utilizzo di memoria ed è ideale per i carichi di lavoro di SQL Server che non richiedono una velocità effettiva di I/O elevata come quella offerta dalla serie Ebdsv5. Queste macchine virtuali hanno una capacità SSD di archiviazione locale di grandi dimensioni, fino a 672 GiB di RAM e velocità effettiva di archiviazione locale e remota molto elevata. Nella maggior parte di queste macchine virtuali è disponibile un 8 GiB di memoria quasi costante per vCore, ideale per la maggior parte dei carichi di lavoro di SQL Server.

La macchina virtuale più grande di questo gruppo è la Standard_E104ids_v5 che offre 104 vCore e 672 GIB di memoria. Questa macchina virtuale è importante perché è isolata, il che significa che è garantita l'unica macchina virtuale in esecuzione nell'host e pertanto è isolata da altri carichi di lavoro dei clienti. Ha un rapporto da memoria a vCore inferiore a quello consigliato per SQL Server, quindi deve essere usata solo se è necessario l'isolamento.

Le macchine virtuali serie Edsv5 supportano l'archiviazione Premium e la memorizzazione nella cache dell'archiviazione Premium.

Serie ECadsv5

Le dimensioni delle macchine virtuali delal serie ECadsv5 sono macchine virtuali riservate di Azure ottimizzate per la memoria con un disco temporaneo. Esaminare le macchine virtuali riservate per informazioni sui vantaggi di sicurezza delle macchine virtuali riservate di Azure.

Poiché le funzionalità di sicurezza delle macchine virtuali riservate di Azure potrebbero comportare sovraccarichi di prestazioni, testare il carico di lavoro e selezionare una dimensione di macchina virtuale che soddisfi i requisiti di prestazioni.

Utilizzo generico

Le dimensioni delle macchine virtuali per utilizzo generico sono progettate per offrire rapporti di memoria-vCore bilanciati per carichi di lavoro di livello di ingresso più piccoli, ad esempio sviluppo e test, server Web e server di database più piccoli.

A causa dei rapporti memoria-vCore più piccoli con le macchine virtuali per utilizzo generico, è importante monitorare attentamente i contatori delle prestazioni basati sulla memoria, per garantire che SQL Server sia in grado di ottenere la memoria della cache del buffer necessaria. Per altre informazioni, vedere La baseline delle prestazioni della memoria.

Poiché la raccomandazione iniziale per i carichi di lavoro di produzione è un rapporto da memoria a vCore pari a 8, la configurazione minima consigliata per una macchina virtuale per utilizzo generico che esegue SQL Server è 4 vCPU e 32 GiB di memoria.

Serie Ddsv5

La serie Ddsv5 offre una combinazione equa di vCPU, memoria e disco temporaneo, ma con supporto da memoria a vCore inferiore.

Le macchine virtuali Ddsv5 includono una latenza inferiore e una maggiore velocità di archiviazione locale.

Questi computer sono ideali per distribuzioni di SQL e app side-by-side che richiedono un accesso rapido alle risorse di archiviazione temporanea e ai database relazionali del reparto. Esiste un rapporto da memoria a vCore standard pari a 4 in tutte le macchine virtuali di questa serie.

Per questo motivo, è consigliabile usare la D8ds_v5 come macchina virtuale di avvio in questa serie, con 8 vCore e 32 GIB di memoria. Il computer più grande è il D96ds_v5, che ha 96 vCore e 256 GIB di memoria.

Le macchine virtuali serie Ddsv5 supportano l'archiviazione Premium e la memorizzazione nella cache di archiviazione Premium.

Nota

La serie Ddsv5 non ha il rapporto tra memoria e vCore di 8 consigliato per i carichi di lavoro SQL Server. Di conseguenza, prendere in considerazione l'uso di queste macchine virtuali solo per piccole applicazioni e carichi di lavoro di sviluppo.

Serie DCadsv5

Le dimensioni delle macchine virtuali serie DCadsv5 sono macchine virtuali riservate di Azure per utilizzo generico con disco temporaneo. Esaminare le macchine virtuali riservate per informazioni sui vantaggi di sicurezza delle macchine virtuali riservate di Azure.

Poiché le funzionalità di sicurezza delle macchine virtuali riservate di Azure possono introdurre sovraccarichi di prestazioni, testare il carico di lavoro e selezionare una dimensione di macchina virtuale che soddisfi i requisiti di prestazioni.

Serie B

Le dimensioni delle macchine virtuali di serie B con possibilità di burst sono ideali per i carichi di lavoro che non necessitano di prestazioni coerenti, ad esempio il modello di verifica e i server di sviluppo e applicazioni molto piccoli.

La maggior parte delle dimensioni delle macchine virtuali serie B con possibilità di burst ha un rapporto da memoria a vCore pari a 4. La serie B con burst più grande è la Standard_B20ms con 20 vCore e 80 GiB di memoria.

Questa serie è unica perché le app hanno la possibilità di burst durante l'orario di ufficio con crediti burstable variabili in base alle dimensioni del computer.

Quando i crediti vengono esauriti, la macchina virtuale torna alle prestazioni del computer di base.

Il vantaggio della serie B è il risparmio di calcolo che è possibile ottenere rispetto alle altre dimensioni delle macchine virtuali in altre serie, soprattutto se è necessaria la potenza di elaborazione per tutto il giorno.

Questa serie supporta l'archiviazione Premium, ma non supporta il caching dell'archiviazione Premium.

Nota

Le macchine virtuali della serie B con possibilità di burst non hanno il rapporto tra memoria e vCore di 8 consigliato per i carichi di lavoro SQL Server. Di conseguenza, prendere in considerazione l'uso di queste macchine virtuali solo per applicazioni più piccole, server Web e carichi di lavoro di sviluppo.

Serie Av2

Le macchine virtuali serie Av2 sono particolarmente adatte per carichi di lavoro di livello di base, ad esempio sviluppo e test, server Web a traffico ridotto, database di app di piccole e medie dimensioni e modelli di verifica.

Solo le Standard_A2m_v2 (2 vCore e 16 Gib di memoria), Standard_A4m_v2 (4 vCore e 32 Gib di memoria) e le Standard_A8m_v2 (8 vCore e 64 Gib di memoria) hanno un rapporto di memoria-vCore ottimale di 8 per queste prime tre macchine virtuali.

Queste macchine virtuali sono entrambe opzioni valide per lo sviluppo più piccolo e i computer SQL Server di test.

L'Standard_A8m_v2 vCore 8 può anche essere un'opzione valida per server Web e applicazioni di piccole dimensioni.

Nota

La serie Av2 non supporta l'archiviazione Premium e, di conseguenza, non è consigliata per i carichi di lavoro di SQL Server di produzione anche con le macchine virtuali con un rapporto da memoria a vCore pari a 8.

Con ottimizzazione per l'archiviazione

Le dimensioni delle macchine virtuali ottimizzate per l'archiviazione sono per casi d'uso specifici. Queste macchine virtuali sono progettate specificamente con velocità effettiva del disco ottimizzata e I/O.

Serie Lsv2

La nuova serie Lsv2 offre velocità effettiva elevata, bassa latenza e archiviazione NVMe locale. Le macchine virtuali serie Lsv2 sono ottimizzate per l'utilizzo del disco locale presente nel nodo direttamente collegato alla macchina virtuale e non di dischi dati permanenti.

Queste macchine virtuali sono opzioni avanzate per carichi di lavoro big data, data warehouse, creazione di report e ETL. La velocità effettiva elevata e le operazioni di I/O al secondo dell'archiviazione NVMe locale sono un buon caso d'uso per l'elaborazione di file che verranno caricati nel database e in altri scenari in cui i dati possono essere ricreati dal sistema di origine o da altri repository, ad esempio Archiviazione BLOB di Azure o Azure Data Lake. Le macchine virtuali serie Lsv2 possono anche aumentare le prestazioni del disco per un massimo di 30 minuti alla volta.

Queste macchine virtuali hanno dimensioni da 8 a 80 vCPU con 8 GiB di memoria per vCPU e per ogni 8 vCPU sono presenti 1,92 TB di UNITÀ SSD NVMe. Ciò significa che per la macchina virtuale più grande di questa serie, il L80s_v2, sono presenti 80 vCPU e 640 BiB di memoria con 10x1,92 TB di archiviazione NVMe. Esiste un rapporto coerente tra memoria e vCore pari a 8 in tutte queste macchine virtuali.

L'archiviazione NVMe è temporanea, ovvero i dati andranno persi in questi dischi se si dealloca la macchina virtuale o se viene spostata in un host diverso per la correzione del servizio.

La serie Lsv2 e Ls supportano l'archiviazione Premium, ma non la memorizzazione nella cache dell'archiviazione Premium. La creazione di una cache locale per aumentare le operazioni di I/O non è supportata.

Avviso

L'archiviazione dei file di dati nell'archiviazione NVMe temporanea può comportare la perdita di dati quando la macchina virtuale viene deallocata.

vCore vincolate

I carichi di lavoro di SQL Server con prestazioni elevate richiedono spesso grandi quantità di memoria, operazioni di I/O al secondo e velocità effettiva senza conteggi vCore più elevati.

La maggior parte dei carichi di lavoro OLTP è costituita da database applicativi basati su un numero elevato di transazioni più piccole. Con i carichi di lavoro OLTP, solo una piccola quantità di dati viene letta o modificata, ma i volumi di transazioni basati sui conteggi degli utenti sono molto più elevati. È importante disporre della memoria di SQL Server disponibile per i piani della cache, archiviare i dati a cui si accede di recente per le prestazioni e assicurarsi che le letture fisiche possano essere lette rapidamente in memoria.

Questi ambienti OLTP necessitano di una quantità maggiore di memoria, archiviazione veloce e larghezza di banda di I/O necessaria per ottenere prestazioni ottimali.

Per mantenere questo livello di prestazioni senza i costi di licenza di SQL Server più elevati, Azure offre dimensioni delle macchine virtuali con conteggi vCPU vincolati.

Ciò consente di controllare i costi di licenza riducendo i vCore disponibili mantenendo allo stesso tempo la stessa memoria, archiviazione e larghezza di banda di I/O della macchina virtuale padre.

Il numero di vCPU può essere vincolato a metà o un quarto delle dimensioni originali della macchina virtuale. La riduzione dei vCore disponibili per la macchina virtuale consente di ottenere rapporti di memoria/vCore più elevati, ma il costo di calcolo rimarrà invariato.

Queste nuove dimensioni di macchina virtuale hanno un suffisso che specifica il numero di vCPU attive, semplificandone l'identificazione.

Ad esempio, M64-32ms richiede la licenza solo per 32 vCore di SQL Server con la memoria, l'I/O e la velocità effettiva di M64ms e la M64-16ms richiede la licenza solo per 16 vCore. Anche se la m64-16ms ha un quarto del costo delle licenze di SQL Server di M64ms, il costo di calcolo delle macchine virtuali è lo stesso.

Nota

  • I carichi di lavoro di data warehouse di medie e grandi dimensioni possono comunque trarre vantaggio dalle macchine virtuali vCore vincolate, ma i carichi di lavoro del data warehouse sono comunemente caratterizzati da un minor numero di utenti e processi che indirizzano grandi quantità di dati tramite piani di query eseguiti in parallelo.
  • Il costo di calcolo, che include le licenze del sistema operativo, rimarrà identico a quello della macchina virtuale padre.

Passaggi successivi

Per altre informazioni, vedere gli altri articoli di questa serie di procedure consigliate: