Как измерить производительность диска под Windows?

116

Я пытаюсь выяснить, почему мое приложение работает очень медленно на определенной машине (везде работает нормально). Я думаю, что проследил проблемы с производительностью до чтения и записи на жесткий диск, и я думаю, что это просто очень медленный диск.

Какой инструмент я могу использовать для неразрушающего измерения производительности чтения и записи HD под Windows 2003 (разделы на дисках должны оставаться нетронутыми)?

Даниэль Андерссон
источник

Ответы:

186

В Windows есть встроенная проверка производительности диска, которая называется winsat:

winsat disk -drive g

(Запуск winsatс правами администратора)

Дополнительная информация: информация о диске winsat на сайте technet.microsoft.com/en-us/library/cc742157.aspx

например:

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
Наконец, решение, которое а) встроить в) командную строку - Большое спасибо. Чтобы использовать его, 2012 Server Core OSя должен был скопировать файлы winsat.exe, d3d11.dll, dxgi.dll, d3d10.dll, d3d10_1.dll, d3d10_1core.dll, d3d10core.dll с компьютера с Windows 8.
Юрген Штейнблок
35
Вы должны запустить командную строку от имени администратора, в противном случае она выдает новую командную строку и исчезает, как только завершает работу, принимая результаты вместе с ней.
Дэвид Кридер
1
Благодарю. Может быть, стоит изменить ответ, потому что поведение без прав администратора действительно странно.
Димитриос К.
2
К сожалению, не работает на виртуальных серверах :(
Сталинко
1
@mtk Похоже, оценка WinSAT присваивается результату. ru.m.wikipedia.org/wiki/Windows_System_Assessment_Tool
Дэвид
20

HD Tach был конец жизни. HD Tune выглядит эквивалентно: http://www.hdtune.com/

Скриншот HD Tune

TopBanana
источник
2
Симпатичные графики FTW! +1
Iain Holder
Ссылка устарела, и теперь на их веб-сайте есть объявление HD Tach End of Life, в котором говорится, что оно больше не поддерживается.
Hugo
@ Хорошее место, соответственно обновил мой ответ
TopBanana
1
бесплатная версия HD Tune 2.55 не позволяет записывать на диск запись :(
Андрей Адаменко
8

Вы можете использовать Perfmon для сбора счетчиков на основе физических дисков, таких как:

  • Физический диск (экземпляр) \ Число перемещений диска / сек для каждого физического диска

  • Физический диск (экземпляр) \% времени простоя

  • Avg. Длина очереди диска

Или загрузите PAL (очень полезный инструмент мониторинга) и используйте встроенный шаблон для ОС.

Митч Пшеничный
источник
8

Для тех, кто ищет что-то, способное тестировать сценарии типа SQL, есть Diskspd.exe, который заменил SQLIO.

MrEdmundo
источник
6

IOMeter сделает это. Он может выполнять неразрушающий контроль, записывая в свои файлы внутри разделов.

ConcernedOfTunbridgeWells
источник
4
Iometer отстой для случайного пользователя. Требуется, чтобы установщик (wth for) попытался открыть фриггенные сокеты, а пользовательский интерфейс - это типичный пользовательский интерфейс OSS, более сложный, чем необходимый, и в конечном счете сбивающий с толку любого, кто не использует RTFM.
Будет
1
Работал хорошо для меня; -}
ConcernedOfTunbridgeWells
Последняя версия 1.1.0 не работает в XP, версия 2006.07.27 работает.
ivan_pozdeev
Я должен признать, что пользовательский интерфейс далеко не удобен для пользователя. Он по-прежнему выполняет свою работу и, в отличие от большинства других инструментов сравнения, измеряет задержку.
ivan_pozdeev
Это также сохраняет результаты в CSV; если вы снова выберете тот же файл, он добавится к нему - что очень
удобно
4

Счетчики производительности в окнах могут отображать скорость передачи, текущую очередь на диске и т. Д., Чтобы отслеживать фактическое узкое место на компьютере во время работы приложения.

Посмотрите на объект производительности: физический диск

И особенно обратите внимание на счетчики очередей. Диск может быть очень быстрым при последовательном чтении, но как только он попытается получить доступ к диску одновременно, очередь может достигнуть максимума и дать вам ужасную производительность.

Jishi
источник
0

Помимо графического инструмента, если вы хотите, чтобы подробный вывод анализировал производительность вашего раздела или жесткого диска, есть хороший инструмент под названием sqlio (от Microsoft). Инструмент основан на CMD, но отлично справляется с тестированием ввода-вывода. См .: Тест производительности диска Windows

Сарат
источник