Condividi tramite


Comprendere la metodologia di test delle prestazioni in Azure NetApp Files

Lo strumento di benchmark usato in questi test è denominato Tester di I/O flessibile (FIO).

Quando si testano i bordi dei limiti di prestazioni per l'archiviazione, la generazione del carico di lavoro deve essere altamente parallelizzata per ottenere i risultati massimi possibili.

Ciò significa che:

  • uno, a molti clienti
  • più CPU
  • più thread
  • esecuzione di operazioni di I/O su più file
  • connessioni di rete multithread (ad esempio nconnect)

L'obiettivo finale è eseguire il push del sistema di archiviazione per quanto possibile prima che le operazioni inizino ad attendere il completamento di altre operazioni. L'uso di un singolo client che attraversa un singolo flusso di rete o di lettura/scrittura da/a un singolo file (ad esempio, l'uso di dd o diskspd in un singolo client) non fornisce risultati indicativi della funzionalità di Azure NetApp Files. Queste configurazioni mostrano invece le prestazioni di un singolo file, che in genere si presentano tendenze con velocità di riga e/o le impostazioni QoS di Azure NetApp File.

Inoltre, la memorizzazione nella cache deve essere ridotta al minimo il più possibile per ottenere risultati accurati e rappresentativi di ciò che l'archiviazione può raggiungere. Tuttavia, la memorizzazione nella cache è uno strumento molto reale per le applicazioni moderne per ottenere prestazioni ottimali. Questi scenari riguardano alcuni scenari con memorizzazione nella cache e la memorizzazione nella cache ignorati per carichi di lavoro di I/O casuali usando la casualizzazione del carico di lavoro tramite opzioni FIO (in particolare, randrepeat=0 per impedire la memorizzazione nella cache nell'archiviazione e directio per impedire la memorizzazione nella cache del client).

Informazioni sul tester di I/O flessibile

Il tester di I/O flessibile è uno strumento di generazione di carichi di lavoro open source comunemente usato per il benchmarking dell'archiviazione grazie alla facilità d'uso e alla flessibilità nella definizione dei modelli di carico di lavoro. Per informazioni sull'uso con Azure NetApp Files, vedere Raccomandazioni sui test del benchmark delle prestazioni per Azure NetApp Files.

Installazione di FIO

Seguire la sezione Pacchetti binari nel file FIO README per l’installazione sulla piattaforma preferita.

Esempi di FIO per operazioni di I/O al secondo

Gli esempi FIO in questa sezione usano la configurazione seguente:

  • Dimensioni dell'istanza della macchina virtuale: D32s_v3
  • Livello di servizio e dimensioni del pool di capacità: Premium / 50 TiB
  • Dimensioni quota volume: 48 TiB

Gli esempi seguenti illustrano le letture e le scritture casuali FIO.

FIO: dimensioni blocco 8k 100% letture casuali

fio --name=8krandomreads --rw=randread --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: dimensioni blocco 8k 100% scritture casuali

fio --name=8krandomwrites --rw=randwrite --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

Risultati benchmark

Per i risultati ufficiali del benchmark per le prestazioni di FIO in Azure NetApp Files, vedere Benchmark delle prestazioni di Azure NetApp Files per Linux.

Esempi FIO per la larghezza di banda

Gli esempi in questa sezione illustrano le letture e le scritture sequenziali FIO.

FIO: dimensioni blocco 64k 100% letture sequenziali

fio --name=64kseqreads --rw=read --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: dimensioni blocco 64k 100% scritture sequenziali

fio --name=64kseqwrites --rw=write --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

Risultati benchmark

Per i risultati ufficiali del benchmark per le prestazioni di FIO in Azure NetApp Files, vedere Benchmark delle prestazioni di Azure NetApp Files per Linux.

Memorizzazione nella cache con FIO

FIO può essere eseguito con opzioni specifiche per controllare il modo in cui un benchmark delle prestazioni legge e scrive i file. Nei test di benchmark con memorizzazione nella cache esclusa, il flag randrepeat=0 FIO è stato usato per evitare la memorizzazione nella cache eseguendo un vero carico di lavoro casuale anziché un modello ripetuto.

[randrepeat]https://fio.readthedocs.io/en/latest/fio_doc.html#i-o-type)

Per impostazione predefinita, quando randrepeat non è definito, lo strumento FIO imposta il valore su "true", ovvero i dati prodotti nei file non sono realmente casuali. Di conseguenza, le cache del file system non vengono usate per migliorare le prestazioni complessive del carico di lavoro.

Nei benchmark precedenti per Azure NetApp Files randrepeat non è stato definito, quindi è stata implementata la memorizzazione nella cache del file system. Nei test più aggiornati, questa opzione è impostata su "0" (false) per garantire una casualità adeguata nei dati per evitare cache del file system nel servizio Azure NetApp Files. Questa modifica comporta un numero complessivo leggermente inferiore, ma è una rappresentazione più accurata di ciò che il servizio di archiviazione è in grado di quando la memorizzazione nella cache viene ignorata.

Passaggi successivi