Jak zmierzyć wydajność dysku w systemie Windows?


116

Próbuję dowiedzieć się, dlaczego moja aplikacja działa bardzo wolno na określonym komputerze (działa poprawnie wszędzie indziej). Myślę, że prześledziłem problemy z wydajnością do odczytu i zapisu na dysku twardym i myślę, że to po prostu bardzo wolny dysk.

Jakiego narzędzia mogę użyć do pomiaru wydajności odczytu i zapisu w trybie HD w systemie Windows 2003 w sposób nieniszczący (partycje na dyskach muszą pozostać nienaruszone)?

Odpowiedzi:


186

W systemie Windows jest wbudowany moduł sprawdzania wydajności dysku o nazwie winsat:

winsat disk -drive g

(Uruchom winsatz uprawnieniami administratora)

Więcej informacji: Informacje o dysku winsat na technet.microsoft.com/en-us/library/cc742157.aspx

na przykład:

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
Wreszcie rozwiązanie, które jest a) wbudowane w b) wiersz poleceń - wielkie dzięki. Aby użyć go na komputerze 2012 Server Core OS, musiałem skopiować pliki winsat.exe, d3d11.dll, dxgi.dll, d3d10.dll, d3d10_1.dll, d3d10_1core.dll, d3d10core.dll z komputera z systemem Windows 8.
Jürgen Steinblock,

35
Musisz uruchomić wiersz polecenia jako administrator, w przeciwnym razie pojawi się nowy wiersz polecenia i zniknie, gdy tylko zostanie ukończony, zabierając ze sobą wyniki.
David Krider

1
Dzięki. Może warto zmienić odpowiedź, ponieważ zachowanie bez uprawnień administratora jest naprawdę dziwne.
Dimitrios K.,

2
Niestety nie działa na serwerach wirtualnych :(
Stalinko

1
@mtk Wygląda na to, że wynik WinSAT przypisany do wyniku. en.m.wikipedia.org/wiki/Windows_System_Assessment_Tool
David d C e Freitas


8

Możesz użyć Perfmon do zebrania liczników opartych na dyskach fizycznych, takich jak:

  • Dysk fizyczny (instancja) \ Licznik transferów dysków / s dla każdego dysku fizycznego

  • Dysk fizyczny (instancja) \% czas bezczynności

  • Śr. Długość kolejki dyskowej

Lub pobierz PAL (bardzo przydatne narzędzie do monitorowania) i użyj wbudowanego szablonu ukierunkowanego na system operacyjny.




6

IOMeter to zrobi. Może przeprowadzać testy nieniszczące, pisząc do własnych plików w partycjach.


4
Iometr jest do bani dla zwykłego użytkownika. Wymaga instalatora (wth for), który próbuje otworzyć gniazda Friggen, a interfejs użytkownika jest typowym OSS - brzydki, znacznie bardziej skomplikowany niż to konieczne i ostatecznie mylący dla każdego, kto nie korzysta z RTFM.
Czy

1
Działa dobrze dla mnie; -}
ConcernedOfTunbridgeWells

Najnowsza wersja 1.1.0 nie działa w XP, działa wersja 2006.07.27.
ivan_pozdeev

Muszę przyznać, że interfejs użytkownika nie jest przyjazny dla użytkownika. Nadal wykonuje zadanie i, w przeciwieństwie do większości innych narzędzi do analizy, mierzy opóźnienie.
ivan_pozdeev

Zapisuje również wyniki w CSV; jeśli ponownie wybierzesz ten sam plik, zostanie do niego
dołączony

4

Liczniki wydajności w systemie Windows mogą pokazywać prędkości przesyłania, bieżącą kolejkę dysków itp. W celu śledzenia faktycznego wąskiego gardła na komputerze, gdy aplikacja jest uruchomiona.

Spójrz na Obiekt wydajności: Dysk fizyczny

I spójrz zwłaszcza na liczniki kolejek. Dysk może być bardzo szybki w sekwencyjnych odczytach reklam, ale gdy tylko spróbuje uzyskać dostęp do dysku jednocześnie, kolejka może osiągać szczyt i zapewniać straszną wydajność.



0

Oprócz narzędzia graficznego, jeśli chcesz, aby skomplikowane dane wyjściowe analizowały wydajność partycji lub dysku twardego, istnieje ładne narzędzie o nazwie sqlio (od Microsoft). Narzędzie jest oparte na CMD, ale wykonuje świetną robotę, jeśli chodzi o testowanie IO. Patrz: test wydajności dysku Windows

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.