Quale dei tuoi dischi rigidi è il più veloce ed è davvero veloce come promesso dal produttore? Indipendentemente dal fatto che tu abbia un PC desktop o un server, l'utilità gratuita Diskspd di Microsoft sottoporrà a stress test e benchmark i tuoi dischi rigidi.
NOTA: una versione precedente di questa guida spiegata utilizzando la vecchia utilità "SQLIO" di Microsoft. Tuttavia, Microsoft ora offre solo l'utilità "Diskspd", che sostituisce SQLIO, quindi abbiamo aggiornato questa guida con nuove istruzioni.
Perché utilizzare Diskspd?
Se vuoi conoscere la capacità di I / O delle tue unità, Diskspd è uno strumento eccellente. Diskspd ti indicherà la capacità massima che i dischi rigidi di un server possono gestire, o ti indicherà il disco rigido più veloce che dovresti usare per carichi di lavoro pesanti (o semplicemente per giochi per PC impegnativi) su un PC desktop.
Ad esempio, supponiamo di avere tre unità su un server: un'unità F, un'unità G e un'unità C. Se abbiamo il nostro MDF sull'unità F, l'LDF sull'unità G e il nostro sistema operativo sull'unità C, possiamo valutare se la nostra configurazione è efficace. Ad esempio, se il file MDF è il file più occupato con il maggior numero di letture e scritture, vorremmo che fosse sull'unità più veloce.
Utilizzando l'esempio precedente con i grafici (che rappresentano le scritture e le letture per il sistema operativo, LDF e MDF), dovremmo posizionare il nostro file MDF sull'unità più veloce poiché il nostro MDF è il più occupato. Se la nostra analisi di Diskspd mostrasse che F è la nostra unità più veloce, collocheremmo il nostro file MDF sull'unità F.
Dove scaricare Diskspd
Microsoft offre questo eccellente strumento gratuitamente e tu puoi farlo scaricalo da Microsoft Technet . È anche open source, quindi puoi scaricare, ispezionare o modificare il codice sorgente da GitHub .
Diskspd è stato testato per funzionare sulle versioni desktop di Windows 7, 8, 8.1, 10, nonché su Windows Server 2012, 2012 R2 e 2016 Technical Preview 5.
Dopo averlo scaricato, dovrai estrarre il contenuto del file .zip in una cartella sul tuo computer. Notare che l'archivio contiene tre diversi file "diskspd.exe". Quello nella cartella "amd64fre" è per PC Windows a 64 bit, mentre quello nella cartella "x86fre" è per PC Windows a 32 bit. Se stai utilizzando una versione a 64 bit di Windows, e probabilmente lo stai facendo, probabilmente vorrai utilizzare la versione a 64 bit.
Come si esegue uno stress test?
Per eseguire un singolo test, puoi semplicemente richiamare un comando Diskspd da un prompt dei comandi abilitato dall'amministratore. Su Windows 10 o 8.1, fai clic con il pulsante destro del mouse sul pulsante Start e seleziona "Prompt dei comandi (amministratore)". Su Windows 7, individua il collegamento "Prompt dei comandi" nel menu Start, fai clic con il pulsante destro del mouse e seleziona "Esegui come amministratore".
Per prima cosa, usa
cd
per passare alla directory contenente il Diskspd.exe che si desidera utilizzare:
cd c: \ path \ to \ diskspd \ amd64fre
Nel nostro caso, sembrava il comando seguente.
Ora, esegui il comando Diskspd con le opzioni che desideri utilizzare. Troverai un elenco completo delle opzioni della riga di comando e delle informazioni sull'utilizzo nel file DiskSpd_Documentation.pdf di 30 pagine incluso nell'archivio Diskspd che hai scaricato.
Tuttavia, se vuoi essere subito operativo, ecco un comando di esempio. Il comando seguente imposta la dimensione del blocco su 16K (-b16K), esegue un test di 30 secondi (-d30), disabilita l'incasso hardware e software (-Sh), misura le statistiche di latenza (-L), utilizza due richieste IO per thread (- o2) e quattro thread (-t4) per destinazione, utilizza l'accesso casuale anziché la scrittura sequenziale (-r), esegue il 30% delle operazioni di scrittura e il 70% delle operazioni di lettura (-w30).
Crea un file in c: \ testfile.dat di 50 MB di dimensione (-c50M). Se invece desideri eseguire il benchmark della tua unità D :, ad esempio, devi specificare d: \ testfile.dat
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ testfile.dat
Dopo il tempo specificato, 30 secondi nel test precedente, i risultati del test verranno stampati nel prompt dei comandi e sarà possibile visualizzarli.
Consulta i risultati e vedrai i MB / s medi raggiunti dall'unità durante il test: quante operazioni di scrittura sono state eseguite al secondo, quante operazioni di lettura sono state eseguite al secondo e la quantità totale di operazioni di input / output (IO) al secondo. Queste statistiche sono molto utili quando si confrontano più unità per vedere quale è più veloce per determinate operazioni, ma ti diranno anche esattamente quanto IO può gestire un disco rigido.
Puoi anche eseguire il dump dei risultati in un file di testo che puoi visualizzare in seguito con l'operatore>. Ad esempio, il comando seguente esegue lo stesso comando di sopra e inserisce i risultati nel file C: \ testresults.txt.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ testfile.dat> c: \ testresults.txt
Ripeti questo processo per le altre unità e confronta.
Personalizzazione del comando dello stress test
Se stai cercando di capire qual è il disco rigido più veloce per un determinato carico di lavoro, dovresti creare un comando che si adatti meglio a quel carico di lavoro. Ad esempio, se si tratta di un server che legge solo dati e non scrive, è necessario eseguire un test del 100% di letture che non misura le prestazioni di scrittura. Esegui lo stress test su più unità e confronta i risultati per vedere quale è più veloce per quel tipo di lavoro.
Notare che ci sono molte, molte altre opzioni della riga di comando che è possibile specificare per Diskspd.exe. Troverai l'elenco più completo e aggiornato nella documentazione fornita con il file Diskspd.exe scaricato, ma qui ci sono alcune opzioni importanti:
- -nel denota la percentuale di operazioni di scrittura e lettura. Ad esempio, l'immissione di -w40 eseguirà il 40% di operazioni di scrittura e quindi il 60% di operazioni di lettura. L'immissione di -w100 eseguirà operazioni di scrittura al 100%. Omettendo l'opzione -w o immettendo -w0 verranno eseguite operazioni di scrittura allo 0% e quindi operazioni di lettura al 100%.
- -r o -S determina se il test utilizza l'accesso casuale o operazioni sequenziali. Specificare -r per l'accesso casuale o -s per sequenziale. Questo ti aiuta a testare l'accesso casuale ai file (spesso un gruppo di piccoli file) o l'accesso sequenziale ai file (spesso un file di grandi dimensioni che viene letto o scritto tutto in una volta).
- -t denota il numero di thread che verranno eseguiti allo stesso tempo, come -t2 per due thread o -t6 per sei thread.
- -Il denota il numero di richieste in sospeso per thread, come -o4 per quattro richieste o -o2 per due risultati.
- -d è la durata dei test in secondi, ad esempio -d90 per 90 secondi o -d120 per 120 secondi.
- -b è la dimensione del blocco delle letture o delle scritture, ad esempio -b16K per una dimensione del blocco di 16K o -b64K per una dimensione del blocco di 64K.
Usando queste opzioni, puoi modificare il comando benchmark per vedere come si comporta il tuo disco sotto carichi variabili. Dopo aver scritto un comando che ritieni si avvicini al tipo di carico di lavoro che esegui sul tuo PC, puoi sottoporre a stress test diverse unità e vedere quale offre le migliori prestazioni.