Leggere in inglese

Condividi tramite


Migliorare le prestazioni per le condivisioni file di Azure SMB

Questo articolo illustra come migliorare le prestazioni per le condivisioni file SMB di Azure SSD (Premium), tra cui l'uso di SMB multicanale e la memorizzazione nella cache dei metadati.

Si applica a

Modello di gestione Modello di fatturazione Livello supporti Ridondanza Piccole e Medie Imprese (PMI) NFS
Microsoft.Storage Con provisioning v2 HDD (standard) Locale Sì No
Microsoft.Storage Con provisioning v2 HDD (standard) Della zona Sì No
Microsoft.Storage Con provisioning v2 HDD (standard) Geografica Sì No
Microsoft.Storage Con provisioning v2 HDD (standard) GeoZone (GZRS) Sì No
Microsoft.Storage Con provisioning v1 SSD (Premium) Locale Sì No
Microsoft.Storage Con provisioning v1 SSD (Premium) Della zona Sì No
Microsoft.Storage Pagamento in base al consumo HDD (standard) Locale Sì No
Microsoft.Storage Pagamento in base al consumo HDD (standard) Della zona Sì No
Microsoft.Storage Pagamento in base al consumo HDD (standard) Geografica Sì No
Microsoft.Storage Pagamento in base al consumo HDD (standard) GeoZone (GZRS) Sì No

Ottimizzazione delle prestazioni

I suggerimenti seguenti possono aiutare a ottimizzare le prestazioni:

  • Assicurarsi che l'account di archiviazione e il client si trovino nella stessa area di Azure per ridurre la latenza di rete.
  • Usare applicazioni multithread e distribuire il carico tra più file.
  • I vantaggi delle prestazioni di SMB multicanale aumentano con il numero di file che distribuiscono il carico.
  • Le prestazioni della condivisione SSD sono vincolate dalle dimensioni della condivisione di cui è stato effettuato il provisioning, incluse operazioni di I/O al secondo e velocità effettiva e limiti di file singoli. Per informazioni dettagliate, vedere Informazioni sul modello di provisioning v1.
  • Le prestazioni massime di un singolo client di macchine virtuali sono ancora associate ai limiti delle macchine virtuali. Ad esempio, Standard_D32s_v3 può supportare una larghezza di banda massima di circa 1,86 GiB/c; l'uscita dalla macchina virtuale (scritture nell'archiviazione) è a consumo. L'ingresso (letture da archiviazione) non lo è. Le prestazioni della condivisione file sono soggette a limiti di rete del computer, CPU, larghezza di banda di rete disponibile per l'archiviazione interna, dimensioni di I/O, parallelismo e altri fattori.
  • Il test iniziale è in genere un riscaldamento. Scartare i risultati e ripetere il test.
  • Se le prestazioni sono limitate da un singolo client e il carico di lavoro è ancora inferiore ai limiti di condivisione di cui è stato effettuato il provisioning, è possibile ottenere prestazioni più elevate distribuendo il carico su più client.

La relazione tra IOPS, velocità effettiva e dimensioni di I/O

Velocità effettiva = dimensioni di I/O * operazioni di I/O al secondo

Le dimensioni di I/O più elevate determinano una velocità effettiva più elevata e avranno latenze maggiori, causando un numero inferiore di IOPS netti. Le dimensioni di I/O inferiori determinano maggiori IOPS, ma comportano una larghezza di banda effettiva inferiore e latenze più alte. Per altre informazioni, vedere Informazioni sulle prestazioni di File di Azure.

SMB multicanale

SMB multicanale consente a un client SMB di stabilire più connessioni di rete a una condivisione file SMB. Azure Files supporta SMB Multicanale per le condivisioni di file SSD nei client Windows. Sul lato servizio, SMB multicanale è ora abilitato per impostazione predefinita per tutti gli account di archiviazione appena creati in tutte le aree di Azure. Non sono previsti altri costi per l'abilitazione di SMB Multicanale.

Vantaggi

SMB multicanale consente ai client di usare più connessioni di rete che offrono prestazioni migliori riducendo al contempo il costo di proprietà. Un miglioramento delle prestazioni viene ottenuto tramite l'aggregazione di banda su più NIC e utilizzando il supporto RSS (Receive Side Scaling) per distribuire il carico di I/O tra più CPU.

  • maggiore velocità effettiva: più connessioni consentono il trasferimento dei dati su più percorsi in parallelo e quindi vantaggi notevoli per i carichi di lavoro che usano dimensioni di file più grandi con dimensioni di I/O maggiori, e richiedono una velocità effettiva elevata da una singola macchina virtuale o da un set più piccolo di macchine virtuali. Alcuni di questi carichi di lavoro includono contenuti multimediali e intrattenimento per la creazione di contenuti o la transcodifica, genomica e analisi dei rischi dei servizi finanziari.
  • IOPS più elevati: la funzionalità RSS della scheda di interfaccia di rete consente una distribuzione efficace del carico tra più CPU con più connessioni. In questo modo è possibile ottenere una scalabilità più elevata delle operazioni di I/O al secondo e un utilizzo effettivo delle CPU della macchina virtuale. Ciò è utile per i carichi di lavoro con dimensioni di I/O ridotte, ad esempio le applicazioni di database.
  • Tolleranza di errore di rete: più connessioni attenuano il rischio di interruzioni perché i client non si basano più su una singola connessione.
  • Configurazione automatica: quando SMB multicanale è abilitato nei client e sugli account di archiviazione, consente l'individuazione dinamica delle connessioni esistenti e può creare percorsi di connessione aggiuntivi in base alle esigenze.
  • Ottimizzazione dei costi: i carichi di lavoro possono ottenere una scalabilità più elevata da una singola macchina virtuale o da un piccolo set di macchine virtuali, durante la connessione alle condivisioni file SSD. Ciò potrebbe ridurre il costo totale di proprietà riducendo il numero di macchine virtuali necessarie per l'esecuzione e la gestione di un carico di lavoro.

Per altre informazioni su SMB multicanale, vedere la documentazione di Windows.

Questa funzionalità offre maggiori vantaggi in termini di prestazioni per le applicazioni multithread, ma in genere non aiuta le applicazioni a thread singolo. Per altri dettagli, vedere la sezione Confronto delle prestazioni.

Limiti

SMB multicanale per le condivisioni file di Azure presenta attualmente le restrizioni seguenti:

  • Disponibile solo per le condivisioni file SSD. Non disponibile per le condivisioni di file HDD di Azure.
  • Supportato solo nei client che usano SMB 3.1.1. Assicurarsi che i sistemi operativi client SMB siano aggiornati ai livelli raccomandati.
  • Il numero massimo di canali è quattro. Per informazioni dettagliate, vedere qui.

Impostazione

SMB multicanale funziona solo quando la funzionalità è abilitata sia sul lato client (il client) sia sul lato servizio (l'account di archiviazione di Azure).

Nei client Windows SMB multicanale è abilitato per impostazione predefinita. È possibile verificare la configurazione eseguendo il comando di PowerShell seguente:

Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel

Se SMB Multicanale non è abilitato nell'account di archiviazione di Azure, fare riferimento a Stato Multicanale SMB.

Disabilitare SMB multicanale

Nella maggior parte degli scenari, in particolare i carichi di lavoro multithread, i client dovrebbero visualizzare prestazioni migliorate con SMB multicanale. Tuttavia, per alcuni scenari specifici, ad esempio carichi di lavoro a thread singolo o a scopo di test, è possibile disabilitare SMB multicanale. Per altri dettagli, vedere Confronto delle prestazioni e Stato SMB multicanale.

Verificare che SMB multicanale sia configurato correttamente

  1. Creare una nuova condivisione file SSD o usare una condivisione file SSD esistente.
  2. Verificare che il client supporti SMB multicanale (una o più schede di rete è abilitata per il ridimensionamento lato ricezione). Per altri dettagli, vedere la documentazione di Windows.
  3. Montare una condivisione file nel client.
  4. Genera carico con la tua applicazione. Uno strumento di copia, ad esempio robocopy /MT, o qualsiasi strumento di performance, ad esempio Diskspd per leggere/scrivere file, può generare carico.
  5. A tale scopo, aprire PowerShell come amministratori ed usare il comando seguente: Get-SmbMultichannelConnection |fl
  6. Cercare le proprietà MaxChannels e CurrentChannels.

Confronto delle prestazioni

Esistono due categorie di modelli di carico di lavoro di lettura/scrittura: a thread singolo e multiplo. La maggior parte dei carichi di lavoro usa più file, ma potrebbero esserci casi d'uso specifici in cui il carico di lavoro funziona con un singolo file in una condivisione. Questa sezione illustra i diversi casi d'uso e l'impatto sulle prestazioni per ognuno di essi. In generale, la maggior parte dei carichi di lavoro è a thread multiplo e distribuisce il carico di lavoro su più file, in modo da osservare miglioramenti significativi delle prestazioni con SMB multicanale.

  • File multipli/thread multiplo: a seconda del modello di carico di lavoro, si dovrebbe notare un miglioramento significativo delle prestazioni in operazioni di I/O in lettura e scrittura su più canali. I miglioramenti delle prestazioni variano da 2x a 4x in termini di operazioni di I/O al secondo, velocità effettiva e latenza. Per questa categoria, SMB Multicanale deve essere abilitato per ottenere prestazioni migliori.
  • File singolo/thread multiplo: per la maggior parte dei casi d'uso in questa categoria, i carichi di lavoro trarranno vantaggio dall'abilitazione di SMB multicanale, soprattutto se il carico di lavoro ha una dimensione di I/O media > ~16 k. Alcuni scenari di esempio che traggono vantaggio da SMB multicanale sono il backup o il ripristino di un singolo file di grandi dimensioni. Un'eccezione in cui si potrebbe voler disabilitare SMB multicanale è se il carico di lavoro è elevato in operazioni di I/O di piccole dimensioni. In tal caso, si potrebbe osservare una leggera perdita di prestazioni pari a circa il 10%. A seconda del caso d'uso, valutare la possibilità di distribuire il carico tra più file o disabilitare la funzionalità. Per informazioni dettagliate, vedere la sezione Configurazione.
  • File a thread singolo/multiplo o singolo file: per la maggior parte dei carichi di lavoro a thread singolo, esistono vantaggi minimi in termini di prestazioni a causa della mancanza di parallelismo. In genere si verifica una lieve riduzione delle prestazioni di circa il 10% se SMB multicanale è abilitato. In questo caso, è ideale disabilitare SMB Multicanale, con un'unica eccezione. Se il carico di lavoro a thread singolo può distribuire il carico tra più file e utilizza una dimensione di I/O media maggiore (> circa 16 k), dovrebbero esserci lievi vantaggi in termini di prestazioni da SMB Multicanale.

Configurazione dei test delle prestazioni

Per i grafici di questo articolo, è stata usata la configurazione seguente: una singola macchina virtuale D32s v3 Standard con una singola scheda di interfaccia di rete abilitata per RSS con quattro canali. Il caricamento è stato generato usando diskspd.exe, con thread multipli con profondità di I/O pari a 10 e operazioni di I/O casuali con varie dimensioni di I/O.

File multipli/thread multipli con SMB multicanale

Il caricamento è stato generato su 10 file con varie dimensioni di I/O. I risultati dei test di scalabilità orizzontale hanno mostrato miglioramenti significativi nei risultati dei test di IOPS e velocità effettiva con SMB multicanale abilitato. I diagrammi seguenti illustrano i risultati:

Diagramma delle prestazioni.

Diagramma delle prestazioni della velocità effettiva.

  • In un'unica NIC, per le letture, è stato osservato un aumento delle prestazioni di 2x-3x e per le scritture, guadagni di 3x-4x in termini sia di IOPS sia di velocità effettiva.
  • SMB Multichannel ha permesso a IOPS e throughput di raggiungere i limiti delle macchine virtuali anche con una singola scheda di rete e il limite di quattro canali.
  • Poiché l'uscita (o le letture nell'archiviazione) non è a consumo, la velocità effettiva di lettura è riuscita a superare il limite pubblicato della macchina virtuale di circa 1,86 GiB/s. Il test ottenuto >è 2,7 GiB/s. L'ingresso (o scritture nell'archiviazione) è ancora soggetto ai limiti delle macchine virtuali.
  • La distribuzione del carico su più file ha consentito miglioramenti sostanziali.

Un comando di esempio usato in questo test è:

diskspd.exe -W300 -C5 -r -w100 -b4k -t8 -o8 -Sh -d60 -L -c2G -Z1G z:\write0.dat z:\write1.dat z:\write2.dat z:\write3.dat z:\write4.dat z:\write5.dat z:\write6.dat z:\write7.dat z:\write8.dat z:\write9.dat .

Carichi di lavoro con file singolo/thread multiplo con SMB multicanale

Il caricamento è stato generato su un singolo file di 128 GiB. Con SMB multicanale abilitato, il test di aumento con file singolo/thread multiplo ha mostrato miglioramenti nella maggior parte dei casi. I diagrammi seguenti illustrano i risultati:

Diagramma delle prestazioni IOPS.

Diagramma delle prestazioni della velocità effettiva di un singolo file.

  • In una singola scheda di interfaccia di rete con dimensioni di I/O medie maggiori (> circa 16 k), sono stati apportati miglioramenti significativi sia nelle letture sia nelle scritture.
  • Per dimensioni di I/O più piccole, c'è stato un leggero impatto sulle prestazioni di circa il 10% con SMB Multicanale abilitato. Questo problema può essere risolto distribuendo il carico su più file o disabilitando la funzionalità.
  • Le prestazioni sono ancora vincolate da limiti di file singoli.

Memorizzazione nella cache dei metadati per condivisioni file SSD

La memorizzazione nella cache dei metadati è un miglioramento per le condivisioni file di Azure SSD finalizzate a migliorare quanto segue:

  • Ridurre la latenza dei metadati
  • Limiti di scalabilità dei metadati aumentati
  • Aumentare la coerenza della latenza, le operazioni di I/O al secondo disponibili e aumentare la velocità effettiva della rete

Questa funzionalità migliora le API di metadati seguenti e può essere usata dai client Windows e Linux:

  • Crea
  • Apri
  • Chiusura
  • Elimina

Attualmente questa funzionalità è disponibile solo per le condivisioni file SSD. Non sono previsti costi aggiuntivi associati all'uso di questa funzionalità.

Registrarsi per la funzionalità

Per iniziare, eseguire la registrazione per la funzionalità usando il portale di Azure o Azure PowerShell.

  1. Accedere al portale di Azure.
  2. Cercare e selezionare Funzionalità di anteprima.
  3. Selezionare il filtro Tipo e selezionare Microsoft.Storage.
  4. Selezionare Cache dei metadati di File Premium di Azure e quindi selezionare Registra.

Importante

  • Anche se è elencato sotto Funzionalità di anteprima, Microsoft rispetta gli SLA di GA e ben presto lo renderà l'impostazione predefinita per tutti gli account, eliminando la necessità di registrazione.
  • Occorrono 1-2 giorni affinché gli account vengano onboardati una volta completata la registrazione.

Disponibilità regionale

Aree sostenute

  • Asia orientale
  • Australia centrale
  • Australia orientale
  • Australia sud-orientale
  • Brasile meridionale
  • Canada centrale
  • Canada orientale
  • Francia centrale
  • Germania centro-occidentale
  • India centrale
  • India meridionale
  • India occidentale
  • Italia settentrionale
  • Jio India occidentale
  • Corea meridionale
  • Messico centrale
  • Norvegia orientale
  • Polonia centrale
  • Qatar Centrale
  • Sudafrica settentrionale
  • Spagna centrale
  • Svezia centrale
  • Svizzera settentrionale
  • Emirati Arabi Uniti settentrionali
  • Stati Uniti meridionali
  • Stati Uniti occidentali 2
  • Stati Uniti occidentali 3
  • Stati Uniti centro-occidentali

Miglioramenti delle prestazioni con la memorizzazione nella cache dei metadati

La maggior parte dei carichi di lavoro o dei modelli di utilizzo che contengono metadati può trarre vantaggio dalla memorizzazione nella cache dei metadati. Per determinare se il carico di lavoro contiene metadati, è possibile usare Monitoraggio di Azure per suddividere le transazioni in base alla dimensione API.

I carichi di lavoro e i modelli di utilizzo tipici dei metadati includono:

  • Servizi Web/app
  • Attività DevOps
  • Indicizzazione/processi batch
  • Desktop virtuali con home directory o altri carichi di lavoro che interagiscono principalmente con molti file, directory o handle di piccole dimensioni

I diagrammi seguenti illustrano i potenziali risultati.

Ridurre la latenza dei metadati

Memorizzando nella cache i percorsi di file e directory per ricerche future, la memorizzazione nella cache dei metadati può ridurre la latenza nei file e nelle directory a cui si accede di frequente del 30% o più per i carichi di lavoro con un numero elevato di metadati su larga scala.

Grafico che mostra la latenza in millisecondi con e senza memorizzazione nella cache dei metadati.

Aumentare le operazioni di I/O al secondo disponibili

La memorizzazione nella cache dei metadati può aumentare le operazioni di I/O al secondo disponibili di oltre il 60% per i carichi di lavoro pesanti di metadati su larga scala.

Grafico che mostra le operazioni di I/O al secondo disponibili con e senza memorizzazione nella cache dei metadati.

Aumentare la velocità effettiva della rete

La memorizzazione nella cache dei metadati può aumentarela velocità effettiva di rete di oltre il 60% per i carichi di lavoro pesanti di metadati su larga scala.

Grafico che mostra la velocità effettiva di rete con e senza memorizzazione nella cache dei metadati.

Passaggi successivi


Risorse aggiuntive

Documentazione

Formazione

Modulo

Memorizzazione nella cache e prestazioni dei dischi di archiviazione di Azure - Training

Informazioni sulle prestazioni dei dischi delle macchine virtuali di Azure e su come abilitare la memorizzazione nella cache per ottimizzare l'accesso in lettura e in scrittura allo risorsa di archiviazione.

Certificazione

Microsoft Certified: Azure for SAP Workloads Specialty - Certifications

Illustrare la pianificazione, la migrazione e il funzionamento di una soluzione SAP in Microsoft Azure mentre si sfruttano le risorse di Azure.