Come mettere alla prova le unità disco rigido nel tuo PC o server
Quale dei tuoi dischi rigidi è il più veloce ed è davvero veloce come promesso dal produttore? Sia che si disponga di un PC desktop o di un server, l'utility gratuita Diskspd di Microsoft sottoporrà a test e benchmark i dischi rigidi.
NOTA: una versione precedente di questa guida spiegava usando la vecchia utility "SQLIO" di Microsoft. Tuttavia, Microsoft offre ora l'utilità "Diskspd", che sostituisce SQLIO, quindi abbiamo aggiornato questa guida con nuove istruzioni.
Perché usare Diskspd?
Se vuoi conoscere l'abilità IO delle tue unità, Diskspd è uno strumento eccellente. Diskspd ti dirà la massima capacità in grado di gestire i dischi rigidi di un server, o ti indicherà il disco più veloce che dovresti usare per carichi di lavoro pesanti (o solo per giochi per PC) 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 disponiamo del nostro MDF sul drive F, del LDF sul drive G e del nostro sistema operativo sul nostro drive C, possiamo valutare se la nostra configurazione è efficace. Ad esempio, se il file MDF è il file più impegnato con il maggior numero di letture e scritture, vorremmo che fosse sul disco più veloce.
Usando l'esempio precedente con i grafici (che rappresentano le scritture e le letture per il sistema operativo, LDF e MDF), inseriremo il nostro file MDF sul disco più veloce dal momento che il nostro MDF è il più attivo. Se la nostra analisi di Diskspd mostrasse che F era il nostro disco più veloce, inseriremmo il nostro file MDF sull'unità F.
Dove scaricare Diskspd
Microsoft offre questo eccellente strumento gratuitamente e puoi scaricarlo da Microsoft Technet. È persino open source, quindi puoi scaricare, ispezionare o modificare il codice sorgente da GitHub.
Diskspd è stato testato per funzionare su versioni desktop di Windows 7, 8, 8.1, 10, nonché Windows Server 2012, 2012 R2 e 2016 Technical Preview 5.
Una volta scaricato, dovrai estrarre il contenuto del file .zip in una cartella sul tuo computer. Si noti 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 usando una versione a 64 bit di Windows, e probabilmente lo sei, probabilmente vorrai usare la versione a 64 bit.
Come eseguo un test di stress?
Per eseguire un singolo test, è sufficiente richiamare un comando Diskspd da un prompt dei comandi abilitato dall'amministratore. Su Windows 10 o 8.1, fare clic con il pulsante destro del mouse sul pulsante Start e selezionare "Prompt dei comandi (Admin)". In Windows 7, individuare il collegamento "Prompt dei comandi" nel menu Start, fare clic con il tasto destro del mouse e selezionare "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 qui sotto.
Ora, esegui il comando Diskspd con le opzioni che vuoi usare. Troverai un elenco completo di opzioni della riga di comando e informazioni sull'utilizzo nel file DiskSpd_Documentation.pdf di 30 pagine incluso nell'archivio Diskspd scaricato.
Tuttavia, se vuoi iniziare subito a lavorare, ecco un comando di esempio. Il seguente comando imposta la dimensione del blocco su 16K (-b16K), esegue un test di 30 secondi (-d30), disabilita l'incasso di hardware e software (-Sh), misura le statistiche di latenza (-L), utilizza due richieste IO per thread (- o2) e quattro thread (-t4) per target, utilizza l'accesso casuale anziché la scrittura sequenziale (-r), esegue operazioni di scrittura del 30% e operazioni di lettura del 70% (-w30).
Crea un file in c: \ testfile.dat di 50 MB di dimensione (-c50M). Se invece si desidera eseguire il benchmark dell'unità D: drive, si dovrebbe specificare d: \ testfile.dat
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ testfile.dat
Dopo un certo periodo di tempo, specificare 30 secondi nel test precedente, i risultati del test verranno stampati sul Prompt dei comandi e sarà possibile visualizzarli.
Consulta i risultati e vedrai il MB / s medio raggiunto dall'azionamento durante il test: quante operazioni di scrittura sono state eseguite un secondo, quante operazioni di lettura sono state eseguite un secondo e la quantità totale di operazioni di input / output (IO) al secondo. Queste statistiche sono molto utili quando si confrontano più dischi per vedere quale è più veloce per determinate operazioni, ma ti diranno anche esattamente quanto IO un disco rigido può gestire.
È anche possibile scaricare i risultati in un file di testo che è possibile visualizzare successivamente con l'operatore>. Ad esempio, il comando seguente esegue lo stesso comando come 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 tue altre unità e confronta.
Personalizzazione del comando Test di stress
Se stai cercando di capire qual è il disco più veloce per un determinato carico di lavoro, dovresti creare un comando che corrisponda al 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 misuri alcuna prestazione di scrittura. Esegui lo stress test su più unità e confronta i risultati per vedere quale è più veloce per quel tipo di lavoro.
Si noti 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 che accompagna il file Diskspd.exe scaricato, ma qui ci sono alcune opzioni importanti:
- -w indica la percentuale di operazioni di scrittura e lettura. Ad esempio, inserendo -w40 eseguirà il 40% delle operazioni di scrittura e quindi il 60% delle operazioni di lettura. L'immissione di -w100 eseguirà operazioni di scrittura al 100%. Omettendo l'opzione -w o inserendo -w0 si eseguono operazioni di scrittura 0% e quindi operazioni di lettura al 100%.
- -r o -S determina se il test utilizza l'accesso casuale o le operazioni sequenziali. Specificare -r per l'accesso casuale o -s per sequenziale. Questo ti aiuta a testare sia l'accesso casuale ai file (spesso un mucchio 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 indica il numero di thread che verranno eseguiti allo stesso tempo, come -t2 per due thread o -t6 per sei thread.
- -o 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 di blocco di 16 KB o -b64K per una dimensione di blocco di 64 KB.
Usando queste opzioni, puoi modificare il comando benchmark per vedere come il tuo disco funziona sotto carichi variabili. Una volta che hai scritto un comando che ti sembra approssimativo al tipo di carico di lavoro che esegui sul tuo PC, puoi sottoporre a stress test diversi drive e vedere quali offrono le migliori prestazioni.