25Jul

Come mettere alla prova le unità disco rigido nel tuo PC o server

Quale dei tuoi dischi rigidi è il più veloce ed è così 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 propri 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 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.

Utilizzando l'esempio precedente con i grafici( che rappresentano le scritture e le letture per OS, LDF e MDF), inseriremo il nostro file MDF sul disco più veloce poiché il nostro MDF è il più impegnato. 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.È 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, nonché Windows Server 2012, 2012 R2 e 2016 Technical Preview 5.

Una volta scaricato, è necessario estrarreil 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 si esegue un test di sollecitazione?

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".

Innanzitutto, utilizzare cd per passare alla directory contenente il Diskspd.exe che si desidera utilizzare:

cd c: \ path \ to \ diskspd \ amd64fre

Nel nostro caso, sembrava il seguente comando.

Ora, eseguire il comando Diskspd con le opzioni che si desidera utilizzare. 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 periodo di tempo specificato di 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 input / output( IO)operazioni 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.

Puoi anche scaricare i risultati in un file di testo che puoi visualizzare successivamente con & gt;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 & gt;c: \ testresults.txt

Ripetere questo processo per le altre unità e confrontare.

Personalizzazione del comando di verifica dello stress

Se si sta tentando di capire qual è il disco più veloce per un determinato carico di lavoro, è necessario 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 esistono 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 delle 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 indica 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.

Utilizzando queste opzioni, è possibile modificare il comando benchmark per vedere come si comporta il disco con 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.