Considerazioni sulle prestazioni per l'archiviazione di Azure NetApp Files con accesso sporadico

I set di dati non vengono sempre usati attivamente. Fino all'80% dei dati in un set può essere considerato "con accesso sporadico", ovvero non è attualmente in uso o non vi è stato eseguito l'accesso di recente. Quando si archiviano dati in risorse di archiviazione ad alte prestazioni come Azure NetApp Files, il denaro speso per la capacità usata viene essenzialmente sprecato perché i dati ad accesso sporadico non richiedono risorse di archiviazione ad alte prestazioni fino a quando non vi si accede di nuovo.

L'archiviazione di Azure NetApp Files con accesso sporadico è progettata per ridurre i costi per l'archiviazione nel cloud in Azure. In alcuni casi d'uso specifici è necessario tenere conto delle prestazioni.

L'accesso ai dati spostati nei livelli ad accesso sporadico comporta una maggiore latenza, in particolare per le operazioni di I/O casuali. Nello scenario peggiore, tutti i dati a cui si accede potrebbero trovarsi nel livello ad accesso sporadico, quindi ogni richiesta dovrà eseguire un recupero dei dati. È raro che tutti i dati in un set di dati usato attivamente si trovino nel livello ad accesso sporadico, quindi è improbabile che si osservi tale latenza.

Quando viene selezionato il criterio di recupero ad accesso sporadico predefinito, le letture I/O sequenziali vengono gestite direttamente dal livello ad accesso sporadico e non vengono ripopolate nel livello ad accesso frequente. I dati letti in modo casuale vengono ripopolati nel livello ad accesso frequente, aumentando le prestazioni delle letture successive. Le ottimizzazioni per i carichi di lavoro sequenziali spesso riducono la latenza sostenuta dal recupero nel cloud rispetto alle letture casuali e migliorano le prestazioni complessive.

In un test recente eseguito usando l'archiviazione Standard con accesso sporadico per Azure NetApp Files, sono stati ottenuti i risultati seguenti.

Nota

Tutti i risultati pubblicati sono solo a scopo di riferimento. I risultati non sono garantiti perché le prestazioni nei carichi di lavoro di produzione possono variare a causa di numerosi fattori.

Letture sequenziali al 100% sul livello ad accesso frequente/sporadico (singolo processo)

Nello scenario seguente è stato usato un singolo processo in una macchina virtuale (VM) D32_V5 in un volume di Azure NetApp Files da 50 TiB usando il livello di prestazioni Ultra. Sono state usate dimensioni di blocchi diverse per testare le prestazioni nei livelli ad accesso frequente e sporadico.

Nota

Il valore massimo per il livello di servizio Ultra è 128 MiB/s per tebibyte di capacità allocata. Un volume regolare di Azure NetApp Files può gestire una velocità effettiva fino a circa 5.000 MiB/s.

Il grafico seguente mostra le prestazioni del livello ad accesso sporadico per questo test usando diverse profondità di coda. La velocità effettiva massima per una singola macchina virtuale è di circa 400 MiB/s.

Grafico della velocità effettiva del livello ad accesso sporadico con diverse dimensioni di blocco.

Le prestazioni del livello ad accesso frequente erano migliori di circa 2,75 volte, con un limite di circa 1.180 MiB/s.

Grafico della velocità effettiva del livello ad accesso frequente con diverse dimensioni di blocco.

Questo grafico mostra un confronto affiancato delle prestazioni del livello ad accesso frequente e sporadico con dimensioni di blocco di 256 K.

Grafico della velocità effettiva con diverse 'iodepths' con un processo.

Che cosa causa la latenza nei livelli ad accesso frequente e sporadico?

La latenza nel livello ad accesso frequente è un fattore del sistema di archiviazione stesso, in cui le risorse di sistema vengono esaurite quando al servizio vengono inviate più operazioni di I/O rispetto a quelle che possono essere gestite in un dato momento. Di conseguenza, le operazioni devono essere messe in coda fino al completamento delle operazioni inviate in precedenza.

La latenza nel livello ad accesso sporadico viene in genere vista con le operazioni di recupero nel cloud: richieste in rete per I/O nell'archivio oggetti (carichi di lavoro sequenziali) o riattivazione di blocchi ad accesso sporadico nel livello ad accesso frequente (carichi di lavoro casuali).

Riepilogo dei risultati

  • Quando un carico di lavoro è sequenziale al 100%, la velocità effettiva del livello ad accesso sporadico diminuisce di circa il 47% rispetto al livello ad accesso frequente (3330 MiB/s rispetto a 1742 MiB/s).
  • Quando un carico di lavoro è casuale al 100%, la velocità effettiva del livello ad accesso sporadico diminuisce di circa l'88% rispetto al livello ad accesso frequente (2.479 MiB/s rispetto a 280 MiB/s).
  • Il calo delle prestazioni per il livello ad accesso frequente durante l'esecuzione di carichi di lavoro sequenziali al 100% (3.330 MiB/s) e casuali al 100% (2.479 MiB/s) è stato di circa il 25%. Il calo delle prestazioni per il livello ad accesso sporadico durante l'esecuzione di carichi di lavoro sequenziali al 100% (1.742 MiB/s) e casuali al 100% (280 MiB/s) è stato di circa l'88%.
  • Quando un carico di lavoro contiene una percentuale di operazioni di I/O casuali, la velocità effettiva complessiva per il livello ad accesso sporadico è più vicina al 100% casuale rispetto al 100% sequenziale.
  • Le letture dal livello ad accesso sporadico sono diminuite di circa il 50% quando si passa dal 100% sequenziale a una combinazione sequenziale/casuale 80/20.
  • L'I/O sequenziale può sfruttare una cache readahead in Azure NetApp Files che l'I/O casuale non può sfruttare. Questo vantaggio dell'I/O sequenziale contribuisce a ridurre le differenze di prestazioni complessive tra i livelli ad accesso frequente e sporadico.

Raccomandazioni e considerazioni

  • Se il carico di lavoro cambia frequentemente i modelli di accesso in modo imprevedibile, l'accesso sporadico potrebbe non essere ideale a causa delle differenze di prestazioni tra livelli ad accesso frequente e sporadico.
  • Se il carico di lavoro contiene una percentuale di operazioni di I/O casuali, le aspettative sulle prestazioni quando si accede ai dati nel livello ad accesso sporadico devono essere modificate di conseguenza.
  • Configurare la finestra di accesso sporadico e le impostazioni di recupero accesso sporadico in modo che corrispondano ai modelli di carico di lavoro e riducano al minimo la quantità di recupero del livello ad accesso sporadico.
  • Le prestazioni dall'accesso sporadico possono variare a seconda del set di dati e del carico di sistema in cui è in esecuzione l'applicazione. È consigliabile eseguire test pertinenti con il set di dati per comprendere e tenere conto della variabilità delle prestazioni dall'accesso sporadico.

Passaggi successivi