Як стрес-тест жорстких дисків на вашому ПК або сервері
Який з ваших жорстких дисків найшвидший, і чи дійсно він так швидко, як обіцяв виробник? Незалежно від того, чи є у вас настільний комп'ютер або сервер, безкоштовна утиліта Diskspd від Microsoft буде перевіряти стрес і тестувати жорсткі диски.
ПРИМІТКА. Попередня версія цього посібника пояснюється за допомогою старої утиліти Microsoft SQLIO. Проте Microsoft наразі пропонує лише утиліту “Diskspd”, яка замінює SQLIO, тому ми оновили це керівництво новими інструкціями..
Навіщо використовувати Diskspd?
Якщо ви хочете знати здатність IO ваших дисків, Diskspd робить відмінним інструментом. Diskspd розповість вам про максимальну здатність жорстких дисків на сервері або на найшвидший жорсткий диск, який слід використовувати для важких навантажень (або просто вимагаючи комп'ютерних ігор) на настільному ПК.
Наприклад, припустимо, що на сервері є три накопичувача: диск F, диск G і диск C. Якщо у нас є наш МДФ на F-накопичувачі, LDF на G-накопичувачі і наша ОС на нашому C-диску, ми можемо оцінити ефективність нашої установки. Наприклад, якщо файл MDF є найбільш завантаженим файлом з більшістю читань і записів, ми хочемо, щоб він знаходився на найшвидшому диску.
Використовуючи наведений вище приклад з графіками (що представляють запису і читання для ОС, LDF і 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 з параметрами, які ви хочете використовувати. Ви знайдете повний список параметрів командного рядка та інформацію про використання у файлі DiskSpd_Documentation.pdf з 30 сторінок, який включено до завантаженого архіву Diskspd..
Однак, якщо ви хочете швидко встати і запустити, тут наведемо приклад команди. Наступна команда встановлює розмір блоку 16K (-b16K), виконує 30-секундний тест (-d30), вимикає апаратний та програмний обмін (-Sh), вимірює статистику затримки (-L), використовує два IO запитів на потік (- o2) і чотири потоки (-t4) на ціль, використовує випадковий доступ, а не послідовне записування (-r), виконує 30% операцій запису і 70% операцій читання (-w30).
Він створює файл за адресою c: file.dat розміром 50 МБ (-c50M). Якщо ви хочете замінити ваш диск D: наприклад, вам слід вказати d: file.dat
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ t
Після того, як довго ви вказали 30 секунд у наведеному вище тесті, результати тесту будуть надруковані в командний рядок, і ви зможете переглянути їх.
Зверніться до результатів, і ви побачите середню величину МБ / с, досягнуту під час тесту - скільки операцій запису було виконано секунду, скільки операцій читання було виконано другий, і загальна кількість операцій введення / виводу (IO) за секунду. Ці статистичні дані є найбільш корисними при порівнянні декількох дисків, щоб побачити, що є більш швидким для певних операцій, але вони також розкажуть, скільки ІО може працювати на жорсткому диску..
Ви також можете скинути результати до текстового файлу, який можна переглянути пізніше за допомогою оператора>. Наприклад, команда нижче виконує ту ж команду, що й вище, і розміщує результати у файлі C: \ t.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ t
Повторіть цей процес для інших дисків і порівняйте.
Налаштування команди стрес-тестування
Якщо ви намагаєтеся з'ясувати, який саме жорсткий диск є найшвидшим для певного навантаження, слід створити команду, яка найкраще відповідає цьому робочому навантаженню. Наприклад, якщо це сервер, який читає лише дані і не записує, потрібно виконати тест на 100% читання, який не вимірює продуктивність запису. Виконуйте цей стрес-тест на декількох дисках і порівняйте результати, щоб побачити, що є більш швидким для цього типу роботи.
Зауважте, що існує багато інших параметрів командного рядка, які можна вказати для Diskspd.exe. Ви знайдете найповніший, найновіший список у документації, що постачається разом із завантаженим файлом Diskspd.exe, але тут є кілька важливих варіантів:
- -w позначає відсоток операцій запису та читання. Наприклад, введення -w40 виконає 40% операцій запису і, таким чином, 60% операцій читання. Введення -w100 виконає 100% операції запису. Якщо вимкнути перемикач -w або ввести -w0, буде виконано 0% операцій запису і, таким чином, 100% операцій читання.
- -r або -s визначає, чи використовує тест або операції з довільним доступом, або послідовні операції. Вкажіть -r для випадкового доступу або -s для послідовного. Це допоможе вам перевірити випадковий доступ до файлів (часто купу невеликих файлів) або послідовний доступ до файлів (часто один великий файл, який читається або записується відразу).
- -t позначає число потоків, які будуть виконуватися одночасно, такі як -t2 для двох потоків або -t6 для шести потоків.
- -o позначає кількість невиконаних запитів на потік, наприклад -o4 для чотирьох запитів або -o2 для двох результатів.
- -d - тривалість випробувань в секундах, такий як -d90 протягом 90 секунд або -d120 протягом 120 секунд.
- -b є розміром блоку для читання або запису, наприклад -b16K для розміру блоку 16K або -b64K для розміру блоку 64K.
Використовуючи ці параметри, можна налаштувати команду benchmark, щоб дізнатися, як виконується ваш диск під різними навантаженнями. Після написання команди, яка наближається до типу робочого навантаження, яке виконується на комп'ютері, можна протестувати декілька дисків і побачити те, що забезпечує найкращу продуктивність.