Come misurare le prestazioni del disco in Windows?


116

Sto cercando di scoprire perché la mia applicazione è molto lenta su un determinato computer (funziona bene ovunque). Penso di aver rintracciato i problemi di prestazioni in lettura e scrittura su disco rigido e penso che sia semplicemente il disco molto lento.

Quale strumento potrei usare per misurare le prestazioni di lettura e scrittura di hd in Windows 2003 in modo non distruttivo (le partizioni sulle unità devono rimanere intatte)?

Risposte:


186

Esiste un controllo delle prestazioni del disco integrato in Windows chiamato winsat:

winsat disk -drive g

(Esegui winsatcon privilegi di amministratore)

Ulteriori informazioni: Informazioni sul disco winsat su technet.microsoft.com/en-us/library/cc742157.aspx

per esempio:

C:\WINDOWS\system32>winsat disk -drive g
Windows System Assessment Tool
> Running: Feature Enumeration ''
> Run Time 00:00:00.00
> Running: Storage Assessment '-drive g -ran -read'
> Run Time 00:00:04.17
> Running: Storage Assessment '-drive g -seq -read'
> Run Time 00:00:08.64
> Running: Storage Assessment '-drive g -seq -write'
> Run Time 00:00:17.47
> Running: Storage Assessment '-drive g -flush -seq'
> Run Time 00:00:03.53
> Running: Storage Assessment '-drive g -flush -ran'
> Run Time 00:00:04.16
> Disk  Random 16.0 Read                       21.05 MB/s          6.0
> Disk  Sequential 64.0 Read                   38.29 MB/s          4.9
> Disk  Sequential 64.0 Write                  39.67 MB/s          4.9
> Average Read Time with Sequential Writes     1.324 ms          7.4
> Latency: 95th Percentile                     2.585 ms          7.3
> Latency: Maximum                             26.977 ms          7.9
> Average Read Time with Random Writes         1.299 ms          8.1
> Total Run Time 00:00:39.41

8
Finalmente una soluzione che è a) incorporata nella b) riga di comando - Grazie mille. Per usarlo su un 2012 Server Core OSho copiato i file winsat.exe, d3d11.dll, dxgi.dll, d3d10.dll, d3d10_1.dll, d3d10_1core.dll, d3d10core.dll da un computer Windows 8.
Jürgen Steinblock,

35
Devi eseguire il prompt dei comandi come amministratore, altrimenti si apre un nuovo prompt dei comandi e scompare non appena è finito, portando con sé i risultati.
David Krider,

1
Grazie. Forse vale la pena modificare la risposta, perché il comportamento senza privilegi di amministratore è davvero strano.
Dimitrios K.,

2
Sfortunatamente non funziona su server virtuali :(
Stalinko,

1
@mtk Sembra il punteggio WinSAT assegnato al risultato. en.m.wikipedia.org/wiki/Windows_System_Assessment_Tool
David d C e Freitas


8

È possibile utilizzare Perfmon per raccogliere contatori basati su disco fisico, ad esempio:

  • Contatore disco fisico (istanza) \ Trasferimenti disco / sec per ciascun disco fisico

  • Disco fisico (istanza) \% Tempo di inattività

  • Avg. Lunghezza coda disco

Oppure scarica PAL (strumento di monitoraggio molto utile) e utilizza il modello integrato destinato al sistema operativo.


8

Per coloro che potrebbero essere alla ricerca di qualcosa in grado di testare scenari di tipo SQL, c'è Diskspd.exe che ha sostituito SQLIO.



6

IOMeter lo farà. Può eseguire test non distruttivi scrivendo nei propri file all'interno delle partizioni.


4
Iometer fa schifo per l'utente occasionale. Richiede che un installatore (wth for) tenti di aprire socket friggen e l'interfaccia utente è il tuo tipico OSS, brutto, molto più complesso del necessario e alla fine confuso con chiunque non sia RTFM.
Sarà il

1
Ha funzionato bene per me; -}
ConcernedOfTunbridgeWells

L'ultima versione 1.1.0 non funziona in XP, la versione 2006.07.27 lo fa.
ivan_pozdeev,

Devo ammettere che l'interfaccia utente è lungi dall'essere facile da usare. Svolge ancora il lavoro e, a differenza della maggior parte degli altri strumenti di benchmarking, misura la latenza.
ivan_pozdeev,

Salva anche i risultati in CSV; se selezioni di nuovo lo stesso file, si aggiunge ad esso - abbastanza carino per confronto, rappresentazione grafica ecc.
ivan_pozdeev

4

I contatori delle prestazioni in Windows possono mostrare la velocità di trasferimento, la coda del disco corrente ecc. Al fine di tracciare l'effettivo collo di bottiglia sul computer quando l'app è in esecuzione.

Guarda Performance Object: Physical Disk

E guarda in particolare i contatori delle code. Un disco può essere letture sequenziali di annunci molto veloci, ma non appena tenta di accedere al disco contemporaneamente la coda potrebbe raggiungere il picco e offrire prestazioni orribili.



0

Oltre allo strumento grafico se si desidera un output elaborato per analizzare le prestazioni della partizione o del disco rigido, esiste un simpatico strumento chiamato sqlio (da Microsoft). Lo strumento è basato su CMD, ma fa un ottimo lavoro quando si tratta di test IO. Consultare: Test delle prestazioni del disco di Windows

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.