Come provare la velocità di hard disk e SSD con DiskSpd

Come funziona l'utilità DiskSpd, per mettere sotto stress hard disk e unità SSD e verificare le prestazioni reali.
Come provare la velocità di hard disk e SSD con DiskSpd

Gli sviluppatori di Microsoft hanno realizzato a suo tempo un’utilità gratuita chiamata DiskSpd che permette di verificare la velocità di hard disk e SSD da riga di comando.
Il programma nasce per gli amministratori di sistema e per coloro che sono impegnati nell’assemblaggio di macchine server ma è utilizzabile da chiunque sia interessato a usarlo.
DiskSpd aiuta ad accertare rapidamente le prestazioni di un’unità per verificare se è veloce come descritto nelle specifiche dal produttore; aiuta inoltre a confrontare le performance in lettura e scrittura per scoprire quale di esse è la più prestazionale se sottoposta a specifici carichi di lavoro.

DiskSpd è un programma utile quando si sta allestendo un server o una workstation chiamati a eseguire applicazioni pesanti che attivano un elevato numero di operazioni per secondo (IOPS).

L’utilità Microsoft integra molte opzioni che possono essere usate per avviare una sorta di stress test su hard disk e SSD misurando i workload in lettura e in scrittura che ciascuna unità può gestire. DiskSpd è compatibile sia con i sistemi Windows client, come Windows 10 e Windows 11, che con Windows Server.

Nell’archivio compresso di DiskSpd scaricabile da GitHub (cliccare sul file DiskSpd.zip). si trovano tre versioni dell’utilità suddivise in altrettante cartelle: AMD64, ARM64 e x86. La prima è destinata ai sistemi x86-64 (macchine Windows a 64 bit), la seconda a quelli basati su piattaforma ARM a 64 bit, la terza ai sistemi x86 32 bit.
Per avere conferma circa la piattaforma che si sta utilizzando basta premere in Windows la combinazione di tasti Windows+Pausa oppure digitare Informazioni sul PC nella casella di ricerca. Leggere quanto riportato accanto a Tipo sistema.

Avviare lo speed testo di hard disk e SSD con DiskSpd

Dopo aver estratto in una cartella su disco la versione di proprio interesse, si può aprire il prompt dei comandi con i diritti di amministratore quindi portarsi nella cartella contenente il programma (esempio: cd c:\DiskSpd\AMD64).

Il comando seguente permette di avviare uno speed test dell’hard disk o dell’unità SSD corrispondente alla lettera identificativa C:

diskspd -d60 -W15 -C15 -c128M -t4 -o4 -b8k -L -r -Sh -w50 c:\speedtest.dat > c:\speedtest.txt && notepad c:\speedtest.txt

Il comando avvia uno “stress test” dell’unità indicata (in questo caso C:) per 60 secondi (-d60) utilizzando un file da 128 MB (-c128M).

L’opzione -t indica il numero di thread utilizzati per eseguire il benchmark: di solito il valore dovrebbe essere pari al numero di core fisici del processore. Il numero dei core si trova premendo CTRL+MAIUSC+ESC per avviare il Task Manager cliccando su Più dettagli, sulla scheda Prestazioni quindi verificando il valore che appare accanto alla voce Cores.

Gli altri parametri consentono di specificare il numero di richieste I/O in sospeso per ciascun thread (-o4), la dimensione del blocco da utilizzare (-b8k), di generare operazioni I/O casuali (-r), di disattivare le funzioni di caching in hardware e lato software (-Sh), di specificare la percentuale di richieste di lettura e scrittura (il valore -w50 consente di avere esattamente la metà delle operazioni di scrittura).

Le opzioni -W15 e -C15 consentono infine di impostare 15 secondi come warm-up e cool-down prima e dopo l’esecuzione del test.

Nel nostro esempio i risultati effettuati dal test con DiskSpd vengono memorizzati nel file c:\speedtest.txt che viene automaticamente aperto con il Blocco Note al termine dei lavori.

Il file c:\speedtest.dat usato per il test non viene cancellato automaticamente al termine delle verifiche e può essere poi rimosso in modo manuale.

Speed test su disco fisso e unità SSD in sola lettura o scrittura

Utilizzando sempre DiskSpd è possibile provare soltanto le prestazioni in fase di lettura sequenziale:

diskspd -d60 -c128M -t4 -o4 -b8k -L -Sh -w0 -si c:\speedtest.dat > c:\speedtest.txt && notepad c:\speedtest.txt

Sostituire w100 a w0 per richiedere scritture sequenziali.

Per richiedere l’effettuazione di operazioni di lettura random si può usare il comando seguente:

diskspd -d60 -c128M -t4 -o4 -b8k -L -Sh -w0 c:\speedtest.dat > c:\speedtest.txt && notepad c:\speedtest.txt

Sostituire w100 con w0 per effettuare scritture random.

La prima parte del resoconto mostrato dal Blocco Note contiene un riassunto delle preferenze impostate da riga di comando comprese durata del test, tempi di warm-up e cool-down, statistiche relative alla latenze e altri dettagli.

Al di sotto di Results for timespan 1 sono raccolte le informazioni più interessanti a partire dal carico di lavoro rilevato sul processore durante l’esecuzione del test. La colonna Idle riporta la percentuale del tempo in cui la CPU è a riposo.

La tabella Total IO mostra le letture e le scritture per thread. Si tratta di un dato che offre la prestazione media in mebibyte al secondo, le operazioni (letture e scritture) che sono state eseguite in un secondo e l’input/output (IO) totale.

L’informazione importante è il risultato in MiB/s che esprime la velocità media in lettura e scrittura per l’unità di memorizzazione oggetto della prova.

I produttori di soluzioni per lo storage dei dati hanno sempre utilizzato multipli decimali mentre i produttori di memorie RAM e gli sviluppatori di sistemi operativi utilizzano prevalentemente il sistema binario. Un mebibyte è composto da 220 byte ovvero 1.048.576 byte.
Per convertire i mebibyte/s (MiB/s) in megabyte/s (MB/s) basta moltiplicare per 1,048576.

La tabella Read IO mostra le statistiche di lettura per thread mentre Write IO quelle in fase di scrittura. La tabella in fondo alla pagina include informazioni sulla latenza in millisecondi (ms) rilevata.

Ti consigliamo anche

Link copiato negli appunti