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 abbiamo il nostro MDF sul drive F, il LDF sul drive G e il 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.
Dove scaricare Diskspd
Microsoft offre questo eccellente strumento gratuitamente e puoi scaricarlo da Microsoft Technet. È anche open source, quindi puoi scaricare e ispezionare o modificare il codice sorgente da GitHub.
Diskspd è stato testato per funzionare su versioni desktop di Windows 7, 8, 8.1, 10, oltre a 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 utilizzando una versione a 64 bit di Windows, e probabilmente lo sei, probabilmente vorrai utilizzare 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. In 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, 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 odiskspdamd64fre
Nel nostro caso, sembrava il comando qui sotto.
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'hardware e il software incassare (-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, ad esempio, si dovrebbe specificare d: testfile.dat
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: estfile.dat
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 può gestire un disco rigido.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: estfile.dat > c: estresults.txt
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. Troverete l'elenco più completo e aggiornato nella documentazione fornita con 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 eseguiranno 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 contemporaneamente, ad esempio -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.