ПРИМЕЧАНИЕ. Предыдущая версия этого руководства объясняется с помощью старой утилиты Microsoft SQLIO. Однако теперь Microsoft предлагает только утилиту «Diskspd», которая заменяет SQLIO, поэтому мы обновили это руководство с помощью новых инструкций.
Зачем использовать Diskspd?
Если вы хотите знать возможности ввода-вывода ваших дисков, Diskspd делает отличный инструмент. Diskspd сообщит вам максимальную емкость, которую могут обрабатывать жесткие диски сервера, или указать на самый быстрый жесткий диск, который вы должны использовать для тяжелых нагрузок (или просто требовательных игр для ПК) на настольном ПК.
В качестве примера предположим, что у нас есть три диска на сервере: диск F, диск G и диск C. Если у нас есть MDF на диске F, LDF на диске G и нашей ОС на нашем диске C, мы можем оценить, эффективна ли наша установка. Например, если файл MDF является самым загруженным файлом с наибольшим количеством операций чтения и записи, мы хотим, чтобы он был на самом быстром диске.
Где скачать 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:path odiskspdamd64fre
В нашем случае это выглядело как команда ниже.
Однако, если вы хотите быстро встать и работать, вот пример команды. Следующая команда устанавливает размер блока в 16K (-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: estfile.dat
Проконсультируйтесь с результатами, и вы увидите средний MB / s, достигнутый во время теста: сколько операций записи выполнялось за секунду, сколько операций чтения выполнялось за секунду, и общий объем операций ввода / вывода (IO) в секунду. Эти статистические данные наиболее полезны при сравнении нескольких дисков, чтобы узнать, что быстрее для определенных операций, но они также расскажут вам, сколько IO жесткого диска может обрабатывать.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: estfile.dat > c: estresults.txt
Настройка команды управления напряжением
Если вы пытаетесь выяснить, какой из них является самым быстрым жестким диском для определенной рабочей нагрузки, вы должны создать команду, которая наилучшим образом соответствует этой рабочей нагрузке. Например, если это сервер, который только считывает данные и не пишет, вы должны выполнить проверку 100% -ных чтений, которые не измеряют производительность записи. Запустите этот стресс-тест на нескольких дисках и сравните результаты, чтобы узнать, что быстрее для этого типа работы.
Обратите внимание, что существует много и многих других параметров командной строки, которые вы можете указать для Diskspd.exe. В документации, которая поставляется с загруженным файлом Diskspd.exe, вы найдете наиболее полный, обновленный список, но вот несколько важных параметров:
- - w обозначает процент операций записи и чтения.Например, ввод -w40 будет выполнять 40% операций записи и, следовательно, 60% операций чтения. Ввод -w100 будет выполнять 100% операций записи. Опуская переключатель -w или ввод -w0 будет выполнять 0% операций записи и, следовательно, 100% операций чтения.
- - р или же - s определяет, использует ли тест произвольный доступ или последовательные операции. Укажите -r для произвольного доступа или -s для последовательного. Это поможет вам протестировать либо случайный доступ к файлам (часто кучу небольших файлов), либо последовательный доступ к файлам (часто один большой файл, который читается или записывается сразу).
- - t обозначает число потоков, которые будут выполняться одновременно, например -t2 для двух потоков или -t6 для шести потоков.
- - о обозначает количество невыполненных запросов на поток, например -o4 для четырех запросов или -o2 для двух результатов.
- - d это длительность тестов в секундах, таких как -d90 в течение 90 секунд или -d120 в течение 120 секунд.
- - b представляет собой размер блока для чтения или записи, например -b16K для размера блока 16K или -b64K для размера блока размером 64 КБ.
Используя эти параметры, вы можете настроить команду benchmark, чтобы увидеть, как ваш диск работает под различными нагрузками. После того, как вы написали команду, которая, по вашему мнению, приближается к типу рабочей нагрузки, которую вы выполняете на своем ПК, вы можете попробовать протестировать несколько дисков и посмотреть, какая из них обеспечивает лучшую производительность.