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.
- Identificare le caratteristiche delle prestazioni del carico di lavoro per determinare le dimensioni della macchina virtuale appropriate per l'azienda.
- Se si esegue la migrazione ad Azure, usare strumenti come Data Migration Assistant e consigli per lo SKU per trovare le dimensioni appropriate per il carico di lavoro di SQL Server esistente e quindi eseguire la migrazione con Azure Data Studio.
- Usare le immagini di Azure Marketplace per distribuire le macchine virtuali di SQL Server come le impostazioni e le opzioni di archiviazione di SQL Server sono configurate per prestazioni ottimali.
- Usare le dimensioni delle macchine virtuali con 4 o più vCPU.
- 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 Msv3 e Mdsv3 offrono un rapporto ottimale tra memoria e vCore consigliato per i carichi di lavoro OLTP.
- Le macchine virtuali serie Mbdsv3 offrono prestazioni ottimali per i carichi di lavoro di SQL Server nelle macchine virtuali di Azure. Prendere in considerazione questa serie per i carichi di lavoro DI SQL Server e OLTP cruciali.
- La serie Ebdsv5 offre un rapporto elevato tra velocità effettiva di I/O e vCore, insieme a un rapporto da memoria a vCore di 8:1. Questa serie offre il miglior rapporto qualità-prezzo per i carichi di lavoro di SQL Server nelle macchine virtuali di Azure. Prendere in considerazione queste macchine virtuali per la maggior parte dei carichi di lavoro di SQL Server.
- La famiglia di serie M offre macchine virtuali con l'allocazione di memoria più elevata in Azure.
- Le macchine virtuali della serie Mbsv3 e Mbdsv3 offrono un'allocazione di memoria elevata e il rapporto massimo tra velocità effettiva di I/O e vCore tra la famiglia di serie M, insieme a un rapporto coerente tra memoria e vCore di almeno 8:1.
- Avviare gli ambienti di sviluppo con la serie D di livello inferiore, la serie B o Av2 e aumentare l'ambiente nel tempo.
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. 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 le Vantaggio Azure Hybrid per trasferire le licenze in Azure e risparmiare sui costi di licenza di SQL Server.
Se si tratta di una nuova macchina virtuale, creare la nuova macchina virtuale di SQL Server in base ai requisiti dell'applicazione. Se si sta creando una nuova macchina virtuale di SQL Server per 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.
Prendere in considerazione la serie di macchine virtuali seguente in base ai carichi di lavoro di SQL Server:
- Allocazione di memoria più elevata per carichi di lavoro cruciali: le macchine virtuali serie Mbsv3 e Mbdsv3 offrono l'allocazione di memoria più elevata in Azure, con le migliori prestazioni di archiviazione.
- Rapporto elevato tra velocità effettiva E/O e vCore: le macchine virtuali della serie Mbsv3 e Mbdsv3 offrono il rapporto velocità effettiva-vCore più elevato di qualsiasi serie di macchine virtuali in qualsiasi cloud. Le macchine virtuali serie Ebdsv5 offrono il secondo rapporto massimo tra velocità effettiva e vCore in Azure. Se non si conoscono i requisiti di I/O per il carico di lavoro di SQL Server, le macchine virtuali serie Ebdsv5 sono le più probabili per soddisfare le proprie esigenze. Per altre informazioni, vedere l'articolo Archiviazione.
- Elaborazione parallela per macchine di grandi dimensioni: le macchine virtuali serie Msv3 e Mdsv3 offrono l'elaborazione parallela, rendendole opzioni valide per ambienti data warehouse più grandi.
Sql Server Data Warehouse e ambienti cruciali devono spesso essere ridimensionati oltre il rapporto da 8:1 memoria a vCore. Per gli ambienti medi, è possibile scegliere un rapporto da 16:1 memoria a vCore e un rapporto da 32:1 memoria a vCore per ambienti data warehouse più grandi.
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 le prestazioni di archiviazione Premium. Per altre informazioni, vedere l'articolo Archiviazione.
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:
- Supportare l'archiviazione Premium, la memorizzazione nella cache di archiviazione Premium, i dischi Ultra, l'accelerazione della scrittura e la rete accelerata.
- Sono adatti per i carichi di lavoro di SQL Server che richiedono funzionalità di high computing con footprint di memoria di grandi dimensioni e minore enfasi sulle prestazioni di archiviazione.
Serie Mbsv3 e Mbdsv3
La serie Mbsv3 e Mbdsv3 sono macchine virtuali ottimizzate per la memoria progettate per database e carichi di lavoro di grandi dimensioni in memoria con un rapporto elevato tra memoria e CPU. Le macchine virtuali di questa serie sono basate sulla 4a generazione Intel® Xeon® scalabile e offrono una gamma di dimensioni di memoria e conteggi vCPU per soddisfare le esigenze dei carichi di lavoro di SQL Server. Le macchine virtuali della serie Mbsv3 e Mbdsv3 sono consigliate per carichi di lavoro cruciali e di data warehouse.
Le macchine virtuali serie Mbsv3 e Mbdsv3 supportano database e carichi di lavoro di grandi dimensioni in memoria con un rapporto elevato tra memoria e CPU perfetto per server di database relazionali, data warehousing, creazione di report pesanti, cache di grandi dimensioni e analisi in memoria.
Di seguito sono riportate le caratteristiche delle macchine virtuali di questa serie:
- La serie Mbsv3 offre fino a 176 vCore e 1.536 GiB di memoria, con un rapporto di memoria da 8:1 a vCore coerente, 650.000 operazioni di I/O al secondo e 6.000 MBps della velocità effettiva di archiviazione.
- La serie Mbdsv3 offre fino a 176 vCore e 4 TiB di memoria, 650.000 operazioni di I/O al secondo e 10.000 MBps di velocità effettiva di archiviazione. Questa serie di macchine virtuali offre un miglioramento del 50% delle operazioni di I/O al secondo e della velocità effettiva nella serie Ebdsv5 con prestazioni migliori, rendendo mbdsv3 una delle opzioni di macchina virtuale con le prestazioni più elevate disponibili in qualsiasi cloud. La serie di macchine virtuali Mbdsv3 condivide caratteristiche di prestazioni simili con la serie di macchine virtuali Mbsv3, ma include un'archiviazione locale e temporanea avanzata, rendendola perfetta per l'ottimizzazione delle prestazioni di tempdb, la creazione di report, i carichi di lavoro OLAP cruciali e i carichi di lavoro di data warehousing.
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 a memoria media Msv3 e Mdsv3: basate su processori scalabili Intel® Xeon® di 4a generazione e offre dimensioni di vm fino a 4 TiB 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 TiB e 16 TiB, fino a 832 vCPU, fino a 260.000 operazioni di I/O al secondo e 8.000-MBps a una risorsa di 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 TiB di memoria, 1.792 vCPU, fino a 200.000 IOPS e 8.000 MBps di velocità effettiva di archiviazione remota.
Attenzione
Disabilitare SMT per usare SQL Server in macchine virtuali di Azure che superano 64 vCore per ogni nodo NUMA.
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 la maggior parte dei 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 TiB 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 TiB 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:
Per le procedure consigliate relative alla sicurezza, vedere Considerazioni relative alla sicurezza per SQL Server in Macchine virtuali di Azure.
Esaminare altri articoli relativi alle macchine virtuali di SQL Server in Panoramica di SQL Server in Macchine virtuali di Azure. In caso di domande sulle macchine virtuali SQL Server, consultare le domande frequenti.