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)?

Daniel Andersson
źródło

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
David d C e Freitas
źródło
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
20

HD Tach został wycofany. Wygląda na to, że HD Tune jest równoważne: http://www.hdtune.com/

Zrzut ekranu HD Tune

TopBanana
źródło
2
Ładne wykresy FTW! +1
Iain Holder
Link jest martwy, a na ich stronie internetowej znajduje się komunikat HD Tach End of Life z informacją, że nie jest już obsługiwany.
Hugo
@Hugo dobre miejsce, odpowiednio zaktualizowałem moją odpowiedź
TopBanana
darmowa wersja HD Tune 2.55 nie pozwala na testowanie zapisu dysku :(
Andrej Adamenko
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.

Mitch Pszenica
źródło
8

Dla tych, którzy szukają czegoś zdolnego do testowania scenariuszy typu SQL, jest Diskspd.exe, który zastąpił SQLIO.

MrEdmundo
źródło
6

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

ConcernedOfTunbridgeWells
źródło
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ść.

jishi
źródło
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

sarath
źródło