Abilitare e configurare la cache del disco delle macchine virtuali di Azure tramite il portale di Azure
Sono state visualizzate le impostazioni e le proprietà che è possibile selezionare per stimare le prestazioni del disco. Verranno ora esaminati i modi per migliorare le prestazioni tramite la memorizzazione nella cache.
Memorizzazione nella cache del disco
Una cache è un componente specializzato che archivia i dati, in genere nella memoria, in modo che siano accessibili più rapidamente. I dati in una cache sono spesso dati letti in precedenza o dati risultanti da un calcolo precedente. L'obiettivo è accedere ai dati più velocemente rispetto a quando si recuperano dal disco.
La memorizzazione nella cache usa un'archiviazione temporanea specializzata e talvolta dispendiosa, che offre prestazioni di lettura e scrittura più veloci rispetto all'archiviazione permanente. Poiché l'archiviazione della cache è spesso limitata, è necessario prendere decisioni relative alle operazioni sui dati che traggono vantaggio dalla memorizzazione nella cache. Anche nei casi in cui la cache può essere resa ampiamente disponibile, ad esempio in Azure, è comunque importante conoscere i modelli di carico di lavoro di ogni disco prima di decidere quale tipo di memorizzazione nella cache usare.
La memorizzazione nella cache di lettura prova a velocizzare il recupero dei dati. Invece che da un archivio permanente, i dati vengono letti dalla cache più veloce. Le letture dei dati raggiungono la cache alle condizioni seguenti:
- I dati sono stati letti in precedenza ed esistono nella cache.
- La cache è sufficientemente grande da contenere tutti i dati.
Si noti che la memorizzazione nella cache di lettura è utile in caso di prevedibilità della coda di lettura, ad esempio nel caso di una serie di letture sequenziali. Per le operazioni di I/O casuali, in cui i dati a cui si accede vengono sparsi nell'archiviazione, la memorizzazione nella cache è di poco o nessun vantaggio e può anche ridurre le prestazioni del disco.
La memorizzazione nella cache di scrittura prova ad accelerare la scrittura dei dati nella risorsa di archiviazione. Quando un'app usa una cache di scrittura, può considerare i dati da salvare. In realtà i dati vengono accodati in una cache, in attesa di essere scritti su disco. Come è facile immaginare, questo meccanismo può rappresentare un potenziale punto di guasto, ad esempio se il sistema si arresta prima che i dati memorizzati nella cache vengano scritti. Alcuni sistemi, come SQL Server, gestiscono la scrittura dei dati memorizzati nella cache nell'archivio su disco persistente in modo autonomo.
Memorizzazione nella cache del disco di Azure
Esistono due tipi di memorizzazione nella cache del disco che interessano l'archiviazione su disco:
- Memorizzazione nella cache di Archiviazione di Azure
- Memorizzazione nella cache del disco della macchina virtuale di Azure (VM)
La memorizzazione nella cache di Archiviazione di Azure fornisce servizi cache per Archiviazione BLOB di Azure, File di Azure e altri contenuti in Azure. La configurazione di questi tipi di cache non rientra nell'ambito di questo modulo.
La memorizzazione nella cache del disco della macchina virtuale di Azure riguarda l'ottimizzazione dell'accesso in lettura e scrittura ai file del disco rigido virtuale collegati alle macchine virtuali di Azure. In questo modulo ci si concentra sulla memorizzazione nella cache del disco.
La memorizzazione nella cache del disco non è supportata per i dischi Ultra o ssd Premium v2, ma traggono già vantaggio da una latenza inferiore, che risolve alcuni degli stessi problemi principali della memorizzazione nella cache del disco.
Tipi di dischi della macchina virtuale di Azure
Esistono tre tipi di dischi che vengono usati con le macchine virtuali di Azure:
Disco del sistema operativo: quando si crea una macchina virtuale di Azure, Azure collega automaticamente un disco rigido virtuale per il sistema operativo.
Disco temporaneo: quando si crea una macchina virtuale di Azure, Azure aggiunge automaticamente anche un disco temporaneo. Questo disco viene usato per dati come i file di paging e di scambio. I dati in questo disco potrebbero essere persi durante la manutenzione o la ridistribuimento di una macchina virtuale. Non usarlo per l'archiviazione di dati permanenti, ad esempio file di database o log delle transazioni.
Dischi dati: un disco dati è un disco rigido virtuale collegato a una macchina virtuale per archiviare i dati dell'applicazione o altri dati da conservare.
I dischi del sistema operativo e i dischi dati sfruttano i vantaggi della memorizzazione nella cache del disco della macchina virtuale di Azure. Le dimensioni della cache per un disco della macchina virtuale dipendono dalle dimensioni dell'istanza della macchina virtuale e dal numero di dischi montati nella macchina virtuale. È possibile abilitare la memorizzazione nella cache solo per un massimo di 4 dischi di dimensioni TiB.
Opzioni della cache per le macchine virtuali di Azure
Sono disponibili tre opzioni comuni per la memorizzazione nella cache del disco della macchina virtuale.
- Lettura/scrittura: cache writeback. Usare questa opzione solo se l'applicazione gestisce correttamente la scrittura di dati memorizzati nella cache in dischi persistenti, quando necessario.
- Sola lettura: le operazioni di lettura vengono eseguite dalla cache.
- Nessuna: nessuna cache. Selezionare questa opzione per dischi in sola scrittura e dischi con attività di scrittura intensive. I file di log sono un candidato ideale perché sono operazioni con attività di scrittura intensive.
Non tutte le opzioni di memorizzazione nella cache sono disponibili per ogni tipo di disco. La tabella seguente illustra le opzioni di memorizzazione nella cache per ogni tipo di disco:
Sola lettura | Lettura/scrittura | Nessuno | |
---|---|---|---|
Disco del sistema operativo | yes | Sì (impostazione predefinita) | yes |
Disco dati | Sì (impostazione predefinita) | yes | yes |
Disco temporaneo | no | no | no |
Nota
Non è possibile modificare le opzioni di memorizzazione nella cache del disco per le macchine virtuali serie L e serie B.
Considerazioni sulle prestazioni per la memorizzazione nella cache del disco della macchina virtuale di Azure
In che modo le impostazioni della cache influiscono sulle prestazioni dei carichi di lavoro in esecuzione nelle macchine virtuali di Azure?
Disco del sistema operativo
Il comportamento predefinito di un disco del sistema operativo della macchina virtuale consiste nell'usare la cache in modalità di lettura/scrittura. Pertanto, se si dispone di applicazioni che archiviano file di dati sul disco del sistema operativo ed eseguono numerose operazioni di lettura/scrittura casuali nei file di dati. Prendere in considerazione lo spostamento di tali file in un disco dati con la memorizzazione nella cache disattivata. Perché? Se la coda di lettura non contiene letture sequenziali, la memorizzazione nella cache è poco o nessun vantaggio. Il sovraccarico rappresentato dalla gestione della cache, come se i dati fossero sequenziali, può ridurre le prestazioni del disco.
Dischi dati
Per applicazioni sensibili alle prestazioni è consigliabile usare dischi dati anziché il disco del sistema operativo. L'uso di dischi separati consente di configurare le impostazioni della cache appropriate per ogni disco.
Ad esempio, nelle macchine virtuali di Azure che eseguono SQL Server l'abilitazione della memorizzazione nella cache di Sola lettura nei dischi dati (per dati normali e TempDB) può comportare miglioramenti significativi delle prestazioni. I file di log, d'altra parte, sono candidati ideali per i dischi dati senza memorizzazione nella cache.
Avviso
La modifica dell'impostazione della cache di un disco di Azure scollega e ricollega il disco di destinazione. Se si tratta del disco del sistema operativo, la macchina virtuale verrà riavviata. Arrestare tutte le applicazioni e i servizi che potrebbero essere interessati da questa interruzione prima di modificare l'impostazione della cache del disco.
È possibile configurare le impostazioni della cache del disco della macchina virtuale con uno qualsiasi degli strumenti seguenti:
- Azure portal
- Interfaccia della riga di comando di Azure
- Azure PowerShell
- Modelli di Resource Manager
Usare il portale di Azure per configurare la memorizzazione nella cache
Quando si effettua il provisioning di una nuova macchina virtuale tramite il portale di Azure, non è possibile modificare la configurazione di memorizzazione nella cache predefinita per il disco del sistema operativo dalle operazioni di lettura/scrittura finché la macchina virtuale non viene distribuita.
Quando si aggiunge un disco dati a una macchina virtuale esistente, è possibile configurare l'opzione di memorizzazione nella cache prima che il disco venga distribuito alla macchina virtuale.
Nella prossima unità verrà creata una macchina virtuale e si modificheranno le impostazioni della cache tramite il portale di Azure.