Risultati benchmark

Completato

A questo punto verranno esaminati i risultati del benchmark per verificare i suggerimenti sulle prestazioni illustrati nell'unità precedente. In particolare, ci si concentrerà sull'uso della suite di benchmark SPEC SFS per generare più thread che simulano carichi di lavoro di tipo produzione EDA. Verranno anche mostrati i risultati FIO per esaminare alcune procedure relative alle prestazioni.

Panoramica dei due strumenti di benchmark

La suite SPEC SFS è un benchmark di settore standard per EDA. Il carico di lavoro EDA tipico è costituito da fasi funzionali e fisiche. La fase funzionale determina principalmente operazioni sui metadati del file system e operazioni di I/O casuali. La fase fisica determina operazioni di lettura e scrittura sequenziali a blocchi di grandi dimensioni.

FIO è uno strumento di I/O in grado di generare carichi di lettura/scrittura casuali o sequenziali coerenti per eseguire il benchmark delle operazioni di I/O al secondo e della velocità effettiva della destinazione di archiviazione.

Tipi di volume in Azure NetApp Files

Azure NetApp Files offre due tipi di volumi di cui è possibile eseguire il provisioning per l'archiviazione dei dati cloud: volumi regolari e volumi di grandi dimensioni. La tabella seguente evidenzia alcune delle differenze principali tra i due tipi di volume. Usare questa tabella come indicazioni quando si sceglie il tipo di volume appropriato per il carico di lavoro.

Limite Volume regolare Volume di grandi dimensioni
Capacità minima 100 GiB 50 TiB
Capacità massima 100 TiB 500 TiB
Livello di servizio minimo supportato Standard Standard
Velocità effettiva massima osservata 4.500 MiB/s 10.240 MiB/s
Numero massimo di operazioni di I/O al secondo di lettura osservate ~200.000 ~700.000
Numero massimo di operazioni di I/O al secondo di scrittura osservate ~135.000 ~474.000

Risultati del benchmark dello strumento SPEC EDA per volumi regolari

I grafici di questa sezione illustrano le curve di I/O e latenza, esaminando alcune combinazioni delle procedure di prestazioni seguenti:

  • nocto,actimeo=600
  • sysctl tuned
  • nconnect=16

Quando vengono applicate tutte e tre le procedure precedenti, le operazioni di I/O al secondo aumentano e mantengono una bassa latenza (inferiore a 1 millisecondo).

Diagramma che mostra i risultati di SPEC E D A, in cui l'aumento delle operazioni di I/O mantiene comunque una latenza bassa quando vengono applicate tutte e tre le procedure.

Il grafico seguente dimostra che NFSv3 offre prestazioni migliori rispetto a NFSv4.1 per questo tipo di carico di lavoro.

Diagramma che mostra i risultati di SPEC EDA per dimostrare che NFS versione 3 offre prestazioni migliori rispetto a NFS versione 4.1.

Il grafico seguente dimostra che rsize=wsize=262144(256 K) offre prestazioni migliori rispetto ad altre impostazioni.

Diagramma che mostra i risultati di SPEC EDA per confrontare i valori delle dimensioni r e w.

Risultati del benchmark dello strumento SPEC EDA per volumi di grandi dimensioni

I test delle soglie di prestazioni sono stati eseguiti su un singolo volume di grandi dimensioni usando il benchmark SPEC SFS con la configurazione seguente:

Tipo configurazione Impostazione
Sistema operativo RHEL 9.3 / RHEL 8.7
Tipo di istanza D16s_v5
Numero di istanze 10
Opzioni di montaggio nocto,actimeo=600,hard,rsize=262144,wsize=262144,vers=3,tcp,noatime,nconnect=8

I test hanno confrontato le funzionalità di prestazioni di un volume di grandi dimensioni usando il benchmark SPEC SFS rispetto a un volume normale in Azure NetApp Files.

Scenario Velocità di I/O a 2 ms MiB/s a 2 ms
Un volume regolare 39.601 692
Un volume di grandi dimensioni 652.260 10.030

Diagramma che confronta la latenza e velocità effettiva per un volume di grandi dimensioni.

Risultati del benchmark dello strumento FIO per volumi regolari

Sono riportati di seguito i comandi FIO per il benchmark delle operazioni di I/O al secondo e della velocità effettiva, rispettivamente.

// FIO commands to benchmark IOPS:
// 8K Random Reads
fio --name=8krandomreads --rw=randread --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting
// 8K Random Writes
fio --name=8krandomwrites --rw=randwrite --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

// FIO commands to benchmark throughput:
// 64K Sequential Reads
fio --name=64kseqreads --rw=read --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting
// 64K Sequential Writes
fio --name=64kseqwrites --rw=write --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

I due grafici seguenti dimostrano che quando nocto,actimeo=600, nconnect=16 e sysctl sono ottimizzati, Azure NetApp Files è in grado di ottenere un numero maggiore di operazioni di I/O al secondo e una velocità effettiva più elevata.

Diagramma che mostra i risultati FIO con operazioni di I/O al secondo superiori.

Diagramma che mostra i risultati FIO con una velocità effettiva maggiore.

Risultati del benchmark dello strumento FIO per volumi di grandi dimensioni

Questa sezione descrive le soglie delle prestazioni di un singolo volume di grandi dimensioni usando il benchmark FIO. I test sono stati eseguiti con la configurazione seguente:

Componente Impostazione
Dimensioni della macchina virtuale Azure E32s_v5
Limite di larghezza di banda in uscita della macchina virtuale di Azure 2000 MiB/s (2 GiB/s)
Sistema operativo RHEL 8.4
Volume di grandi dimensioni 101 TiB Ultra (velocità effettiva 10.240 MiB/s)
Opzioni di montaggio hard,rsize=65536,wsize=65536,vers=3
NOTA: L'uso di 262144 e 65536 ha avuto risultati di prestazioni simili.

Carichi di lavoro sequenziali da 256 KiB (MiB/s)

Il grafico rappresenta un carico di lavoro sequenziale di 256 KiB e un working set di 1 TiB. Mostra che un singolo volume di Azure NetApp Files può gestire tra circa 8.518 MiB/s scritture sequenziali pure e 9.970MiB/s letture sequenziali pure.

Grafico a barre di un carico di lavoro sequenziale da 256 KiB in un volume di grandi dimensioni.

Carico di lavoro casuale a 8 KiB (operazioni di I/O al secondo)

Il grafico rappresenta un carico di lavoro casuale da 8 KiB e un working set di 1 TiB. Il grafico mostra che un volume di grandi dimensioni di Azure NetApp Files può gestire tra circa 474.000 scritture casuali pure e circa 709.000 letture casuali pure.

Grafico a barre di un carico di lavoro casuale in un volume di grandi dimensioni.