Какой из ваших жестких дисков самый быстрый и действительно ли он так быстр, как обещал производитель? Независимо от того, есть ли у вас настольный ПК или сервер, бесплатная утилита Diskspd от Microsoft проведет стресс-тестирование и тестирование жестких дисков.
ПРИМЕЧАНИЕ. В предыдущей версии этого руководства использовалась старая утилита 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 щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Командная строка (администратор)». В Windows 7 найдите ярлык «Командная строка» в меню «Пуск», щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора».
Сначала используйте
CD
чтобы перейти в каталог, содержащий Diskspd.exe, который вы хотите использовать:
cd c: \ путь \ к \ diskspd \ amd64fre
В нашем случае это выглядело так, как показано ниже.
Теперь запустите команду Diskspd с параметрами, которые вы хотите использовать. Вы найдете полный список параметров командной строки и информацию об использовании в 30-страничном файле DiskSpd_Documentation.pdf, включенном в загруженный вами архив Diskspd.
Однако, если вы хотите быстро приступить к работе, вот пример команды. Следующая команда устанавливает размер блока равным 16 КБ (-b16 КБ), запускает 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% операций чтения.
- -р или -с определяет, использует ли тест произвольный доступ или последовательные операции. Укажите -r для произвольного доступа или -s для последовательного доступа. Это поможет вам проверить либо произвольный доступ к файлам (часто к группе небольших файлов), либо последовательный доступ к файлам (часто один большой файл, который читается или записывается сразу).
- -t обозначает количество потоков, которые будут выполняться одновременно, например -t2 для двух потоков или -t6 для шести потоков.
- -The обозначает количество невыполненных запросов на поток, например -o4 для четырех запросов или -o2 для двух результатов.
- -d - продолжительность тестов в секундах, например -d90 для 90 секунд или -d120 для 120 секунд.
- -b - это размер блока чтения или записи, например -b16K для размера блока 16K или -b64K для размера блока 64K.
Используя эти параметры, вы можете настроить команду тестирования, чтобы увидеть, как ваш диск работает при различных нагрузках. После того, как вы написали команду, которая, по вашему мнению, приблизительно соответствует типу рабочей нагрузки, которую вы выполняете на своем ПК, вы можете провести стресс-тестирование нескольких дисков и посмотреть, какие из них обеспечивают лучшую производительность.