Как провести стресс-тестирование жестких дисков на вашем ПК или сервере
Какой из ваших жестких дисков самый быстрый, и действительно ли он так быстр, как обещал производитель? Независимо от того, настольный компьютер или сервер, бесплатная утилита Microsoft Diskspd проведет стресс-тестирование и сравнит ваши жесткие диски.
ПРИМЕЧАНИЕ. Предыдущая версия этого руководства описана с использованием старой утилиты Microsoft «SQLIO». Однако теперь Microsoft предлагает только утилиту «Diskspd», которая заменяет SQLIO, поэтому мы обновили это руководство новыми инструкциями.
Зачем использовать Diskspd?
Если вы хотите узнать способность ввода-вывода ваших дисков, Diskspd - отличный инструмент. Diskspd сообщит вам максимальную емкость, с которой могут работать жесткие диски сервера, или укажет на самый быстрый жесткий диск, который вы должны использовать для тяжелых рабочих нагрузок (или просто требовательных компьютерных игр) на настольном ПК..
В качестве примера, давайте предположим, что у нас есть три диска на сервере: диск F, диск G и диск C. Если у нас есть наш MDF на диске F, LDF на диске G и наша ОС на диске C, мы можем оценить, эффективна ли наша установка. Например, если файл MDF является самым загруженным файлом с наибольшим количеством операций чтения и записи, мы бы хотели, чтобы он находился на самом быстром диске..
Используя приведенный выше пример с графиками (представляющими записи и чтения для ОС, LDF и MDF), мы поместили бы наш файл MDF на самый быстрый диск, так как наш MDF является самым загруженным. Если бы наш анализ Diskspd показал, что F был нашим самым быстрым диском, мы поместили бы наш файл MDF на диск F.
Где скачать Diskspd
Microsoft предлагает этот отличный инструмент бесплатно, и вы можете скачать его с Microsoft Technet. Это даже с открытым исходным кодом, так что вы можете скачать и проверить или изменить исходный код с GitHub.
Diskspd был протестирован для работы в настольных версиях Windows 7, 8, 8.1, 10, а также в Windows Server 2012, 2012 R2 и 2016 Technical Preview 5.
Как только вы загрузите его, вам нужно будет извлечь содержимое .zip-файла в папку на вашем компьютере. Обратите внимание, что в архиве содержатся три разных файла «diskspd.exe». Один в папке «amd64fre» предназначен для 64-битных ПК с Windows, а другой в папке «x86fre» - для 32-битных ПК с Windows. Если вы используете 64-разрядную версию Windows, и, вероятно, вам это нужно, вы, вероятно, захотите использовать 64-разрядную версию.
Как мне выполнить стресс-тест?
Чтобы выполнить один тест, вы можете просто вызвать команду Diskspd из командной строки с включенным администратором. В Windows 10 или 8.1 щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Командная строка (Admin)». В Windows 7 найдите ярлык «Командная строка» в меню «Пуск», щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора»..
Во-первых, используйте CD
чтобы перейти в каталог, содержащий Diskspd.exe, который вы хотите использовать:
cd c: \ путь \ к \ дискам \ amd64fre
В нашем случае это выглядело как команда ниже.
Теперь запустите команду Diskspd с параметрами, которые вы хотите использовать. Полный список параметров командной строки и информации об использовании вы найдете в 30-страничном файле DiskSpd_Documentation.pdf, включенном в загруженный вами архив Diskspd..
Однако, если вы хотите быстро приступить к работе, вот пример команды. Следующая команда устанавливает размер блока в 16 КБ (-b16K), запускает 30-секундный тест (-d30), отключает аппаратное и программное кэширование (-Sh), измеряет статистику задержки (-L), использует два запроса ввода-вывода на поток (- o2) и четыре потока (-t4) на цель, использует произвольный доступ, а не последовательную запись (-r), выполняет 30% операций записи и 70% операций чтения (-w30).
Он создает файл в каталоге c: \ testfile.dat размером 50 МБ (-c50M). Например, если вы хотите вместо этого сравнить свой диск D :, вы должны указать d: \ testfile.dat.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ testfile.dat
Через какое-то время вы укажете - 30 секунд в приведенном выше тесте - результаты теста будут напечатаны в командной строке, и вы сможете просмотреть их.
Посмотрите результаты, и вы увидите средний МБ / с накопителя, достигнутый во время теста, сколько операций записи было выполнено в секунду, сколько операций чтения было выполнено в секунду, и общее количество операций ввода-вывода (IO) в секунду. Эти статистические данные наиболее полезны при сравнении нескольких дисков, чтобы определить, какой из них быстрее для определенных операций, но они также точно подскажут, сколько операций ввода-вывода может выполнить жесткий диск..
Вы также можете вывести результаты в текстовый файл, который вы можете просмотреть позже с помощью оператора>. Например, приведенная ниже команда выполняет ту же команду, что и выше, и помещает результаты в файл C: \ testresults.txt..
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ testfile.dat> c: \ testresults.txt
Повторите этот процесс для других дисков и сравните.
Настройка вашей команды стресс-теста
Если вы пытаетесь определить, какой жесткий диск является самым быстрым для определенной рабочей нагрузки, вы должны создать команду, которая лучше всего соответствует этой рабочей нагрузке. Например, если это сервер, который только читает данные и не пишет, вы должны выполнить тест на 100% операций чтения, который не измеряет производительность записи. Запустите стресс-тест на нескольких дисках и сравните результаты, чтобы выяснить, какие из них быстрее для этого типа работ..
Обратите внимание, что существует множество параметров командной строки, которые вы можете указать для Diskspd.exe. Наиболее полный и актуальный список вы найдете в документации, которая поставляется вместе с самим загруженным файлом Diskspd.exe, но вот несколько важных параметров:
- -вес обозначает процент операций записи и чтения. Например, ввод -w40 будет выполнять 40% операций записи и, следовательно, 60% операций чтения. Ввод -w100 будет выполнять 100% операций записи. Пропуск ключа -w или ввод -w0 будет выполнять операции записи 0% и, следовательно, операции чтения 100%.
- -р или же -s определяет, использует ли тест произвольный доступ или последовательные операции. Укажите -r для произвольного доступа или -s для последовательного. Это поможет вам проверить произвольный доступ к файлам (часто кучу небольших файлов) или последовательный доступ к файлам (часто один большой файл, который читается или записывается одновременно).
- -T обозначает количество потоков, которые будут запущены одновременно, например, -t2 для двух потоков или -t6 для шести потоков.
- -о обозначает число невыполненных запросов на поток, например -o4 для четырех запросов или -o2 для двух результатов.
- -d продолжительность тестов в секундах, например, -d90 для 90 секунд или -d120 для 120 секунд.
- -б размер блока чтения или записи, например -b16K для блока размером 16 КБ или -b64K для блока размером 64 КБ.
Используя эти параметры, вы можете настроить команду тестов, чтобы увидеть, как ваш диск работает при различных нагрузках. После того, как вы написали команду, которая, по вашему мнению, приблизительно соответствует типу рабочей нагрузки, которую вы выполняете на своем ПК, вы можете провести стресс-тестирование нескольких дисков и посмотреть, какие из них обеспечивают наилучшую производительность..