Questo documento descrive come eseguire il benchmark delle prestazioni del disco permanente sulle istanze di macchine virtuali (VM) Windows. Per le VM Linux, vedi Esegui il benchmark delle prestazioni Persistent Disk su una VM Linux.
Per misurare le IOPS e la velocità effettiva di un disco in uso su un'istanza in esecuzione, esegui il benchmark del file system con la configurazione prevista. Utilizza questa opzione per testare un carico di lavoro realistico senza perdere i contenuti del disco esistente. Tieni presente che quando esegui il benchmark del file system su un disco esistente, molti fattori specifici del tuo ambiente di sviluppo possono influire sui risultati del benchmark e potresti non raggiungere i limiti di prestazioni del disco.
Per misurare le prestazioni non elaborate di un disco permanente, esegui il benchmark del dispositivo a blocchi direttamente. Utilizza questa opzione per confrontare le prestazioni del disco non elaborate con i limiti di prestazioni del disco.
Sulle VM C4, Windows supporta una profondità massima di 1024 per coda di invio per dispositivo. Quando una coda si riempie, Windows interrompe l'invio di I/O finché la coda non si è svuotata parzialmente, il che riduce notevolmente le prestazioni. Per evitare di attivare questa condizione, ti consigliamo di limitare i carichi di lavoro di benchmarking a una profondità della coda aggregata di 1024 per volume collegato.
Configurare il software di benchmarking
Per eseguire il benchmark delle prestazioni Persistent Disk sulle VM Windows, utilizza DISKSPD
.
Apri PowerShell e scarica lo strumento
DISKSPD
utilizzando il seguente comando:$client = New-Object System.Net.WebClient $client.DownloadFile("https://github.com/Microsoft/diskspd/releases/latest/download/DiskSpd.zip","$env:temp\DiskSpd-download.zip") Expand-Archive -LiteralPath "$env:temp\DiskSpd-download.zip" C:\DISKSPD Get-ChildItem C:\DISKSPD
Esegui il benchmark di IOPS e throughput di un disco su un'istanza VM in esecuzione
Per misurare IOPS e throughput per un carico di lavoro realistico su un disco attivo su un'istanza VM in esecuzione senza perdere i contenuti del disco, esegui il benchmark rispetto a una nuova directory sul file system esistente.
Nei passaggi seguenti, supponi che il disco da testare sia montato come D:
e che
i comandi vengano eseguiti in una finestra del prompt dei comandi (cmd.exe) con
privilegi di amministratore:
Verifica la
DISKSPD
configurazione del software e cambia la directory nel file binario a 64 bit:cd C:\DISKSPD\amd64
Crea un nuovo file da 10 GB denominato
DISKTEST.DAT
sul disco:set TESTFILE=D:\DISKTEST.DAT diskspd -d0 -c10G %TESTFILE%
Testa la velocità effettiva di scrittura eseguendo scritture sequenziali con più flussi paralleli (16 o più), utilizzando una dimensione del blocco I/O di 1 MB e una profondità I/O di almeno 64:
diskspd -d60 -b1M -o64 -Sh -w100 -t16 -si %TESTFILE%
Testa le IOPS di scrittura eseguendo scritture casuali, utilizzando una dimensione del blocco I/O di 4 KB e una profondità I/O di almeno 256:
diskspd -d60 -b4K -o256 -Sh -w100 -r %TESTFILE%
Testa la velocità effettiva di lettura eseguendo letture sequenziali con più flussi paralleli (16 o più), utilizzando una dimensione del blocco I/O di 1 MB e una profondità I/O di almeno 64:
diskspd -d60 -b1M -o64 -Sh -t16 -si %TESTFILE%
Testa gli IOPS di lettura eseguendo letture casuali, utilizzando una dimensione del blocco I/O di 4 KB e una profondità I/O di almeno 256:
diskspd -d60 -b4K -o256 -Sh -r %TESTFILE%
Esegui la pulizia:
del %TESTFILE%
Benchmarking delle prestazioni non elaborate del Persistent Disk
Per misurare le prestazioni dei volumi Persistent Disk al di fuori dell'ambiente di sviluppo, testa le prestazioni di lettura e scrittura per un dispositivo a blocchi su un disco permanente e una VM temporanei.
Aggiungi un Persistent Disk all'istanza VM che intendi sottoporre a benchmark.
Verifica la
DISKSPD
configurazione del software e cambia la directory nel file binario a 64 bit:cd C:\DISKSPD\amd64
Verifica che non siano presenti partizioni non riservate sul disco. Inserisci
diskpart
in una finestra Prompt dei comandi con privilegi elevati.diskpart
Elenca i dischi collegati alla VM:
DISKPART> list disk
L'output mostra il disco da 1 TB appena creato, che è il disco 1 nell'output di esempio seguente:
Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 120 GB 1024 KB * Disk 1 Online 1024 GB 1023 GB *
Seleziona il disco di cui vuoi eseguire il benchmark.
DISKPART> select disk 1
Elenca le partizioni sul disco selezionato.
DISKPART> list partition
Partition ### Type Size Offset ------------- ---------------- -------- ------- Partition 1 Reserved 15 MB 17 KB Partition 2 Primary 1024 GB 16 MB
Seleziona la partizione primaria 2:
DISKPART> select partition 2
Elimina la partizione selezionata:
DISKPART> delete partition
Exit diskpart
DISKPART> exit
I passaggi precedenti devono essere ripetuti se il disco che intendi sottoporre a benchmark ha altre partizioni oltre a quella riservata. Quando rimane solo la partizione riservata, continua con i seguenti passaggi:
Dopo aver identificato il disco e verificato che non ci siano partizioni, imposta la variabile di ambiente
TESTDRIVE
su "#" seguito dal numero del disco da testare.C:/> set TESTDRIVE=#1
Testa la velocità effettiva di scrittura eseguendo scritture sequenziali con più stream paralleli (16 o più), utilizzando una dimensione del blocco I/O di 1 MB e una profondità I/O di almeno 64:
diskspd -d60 -b1M -o64 -Sh -t16 -si -w0 %TESTDRIVE%
Testa le IOPS di scrittura eseguendo scritture casuali, utilizzando una dimensione del blocco I/O di 4 KB e una profondità I/O di almeno 256:
diskspd -d60 -b4K -o256 -Sh -r -w0 %TESTDRIVE%
Testa la latenza di scrittura. Durante il test della latenza I/O, la VM non deve raggiungere la larghezza di banda o gli IOPS massimi; altrimenti, la latenza osservata non rifletterà la latenza I/O effettiva di Persistent Disk.
diskspd -d60 -b4K -o4 -Sh -r -w0 -L %TESTDRIVE%
Testa la velocità effettiva di lettura eseguendo letture sequenziali con più flussi paralleli (16 o più), utilizzando una dimensione del blocco I/O di 1 MB e una profondità I/O di almeno 64:
diskspd -d60 -b1M -o64 -Sh -t16 -si %TESTDRIVE%
Testa gli IOPS di lettura eseguendo letture casuali, utilizzando una dimensione del blocco I/O di 4 KB e una profondità I/O di almeno 256:
diskspd -d60 -b4K -o256 -Sh -r %TESTDRIVE%
Per testare la latenza di lettura, è importante riempire il disco con i dati per ottenere una misurazione realistica della latenza. La VM non deve raggiungere i limiti di IOPS o di velocità effettiva durante questo test, perché dopo che il Persistent Disk raggiunge il limite di saturazione, respinge le operazioni di I/O in entrata e ciò si riflette come un aumento artificiale della latenza I/O.
diskspd -d60 -b4K -o4 -Sh -r -L %TESTDRIVE%
Testa la larghezza di banda di lettura sequenziale.
diskspd -d60 -b1M -o64 -Sh -t4 -si %TESTDRIVE%
Testa la larghezza di banda di scrittura sequenziale.
diskspd -d60 -b1M -o64 -Sh -t4 -si -w100 %TESTDRIVE%
Pulisci il Persistent Disk e la VM temporanei:
- Elimina il disco utilizzato per il benchmarking delle prestazioni.
- Elimina la VM creata per il benchmarking delle prestazioni.
Passaggi successivi
- Scopri come monitorare le prestazioni del disco esaminando le metriche sulle prestazioni del disco permanente.
- Scopri di più sui prezzi di Persistent Disk.
- Scopri come ottimizzare le Persistent Disk permanente.