Як перевірити швидкість жорсткого диска на VDS Windows?
Продуктивність жорсткого диска (HDD) або твердотільного накопичувача (SSD) на вашому віртуальному виділеному сервері (VDS) Windows має вирішальне значення для загальної швидкості та чуйності вашого сервера. Повільний диск може призвести до затримок у роботі застосунків, баз даних і вебсайтів. У цій статті ми детально розглянемо різні методи та інструменти, які дозволяють перевірити швидкість диска на VDS Windows, щоб ви могли виявити потенційні вузькі місця та вжити заходів для їх усунення.
Зміст
Перевірка швидкості диска за допомогою Diskspd
Diskspd – це потужна утиліта командного рядка, розроблена Microsoft для всебічного тестування продуктивності диска. Вона дозволяє проводити різні тести, включно з послідовним читанням і записом, випадковим читанням і записом та багато іншого. Diskspd особливо корисна для виявлення конкретних проблем із продуктивністю та оптимізації конфігурації диска.
Приклад 1: Простий тест послідовного запису
Для початку необхідно завантажити Diskspd із сайту Microsoft (зазвичай надається як частина комплекту Windows Assessment and Deployment Kit (ADK)). Після завантаження розпакуйте архів у зручне місце, наприклад, `C:\Diskspd`.
C:\Diskspd\diskspd.exe -b4k -t1 -o1 -w100 -d30 -c100m C:\testfile.dat
Розберемо параметри команди:
- `-b4k`: Вказує розмір блока 4KB.
- `-t1`: Вказує кількість потоків рівну 1.
- `-o1`: Вказує кількість очікуваних операцій вводу/виводу рівну 1.
- `-w100`: Вказує, що 100% операцій – це запис.
- `-d30`: Вказує тривалість тесту 30 секунд.
- `-c100m`: Вказує розмір тестового файлу 100MB.
- `C:\testfile.dat`: Вказує ім'я файлу, який буде використовуватися для тестування. Переконайтеся, що користувач, під яким ви запускаєте команду, має права на запис у зазначену директорію.
Ця команда виконає тест послідовного запису з блоками розміром 4KB у файл `C:\testfile.dat` протягом 30 секунд. Результати будуть відображені в консолі, показуючи швидкість запису в MB/s і кількість операцій вводу/виводу на секунду (IOPS).
Приклад 2: Тест випадкового читання та запису
C:\Diskspd\diskspd.exe -b4k -t4 -o32 -r -w50 -d60 -c100m C:\testfile.dat
Параметри цієї команди:
- `-b4k`: Розмір блока 4KB.
- `-t4`: 4 потоки.
- `-o32`: 32 очікувані операції вводу/виводу.
- `-r`: Виконує випадкові операції читання та запису.
- `-w50`: Співвідношення операцій запису 50% (інші 50% - читання).
- `-d60`: Тривалість тесту 60 секунд.
- `-c100m`: Розмір тестового файлу 100MB.
Ця команда виконає тест випадкового читання та запису з блоками розміром 4KB, використовуючи 4 потоки та 32 очікувані операції вводу/виводу у файл `C:\testfile.dat` протягом 60 секунд. Результати покажуть продуктивність як читання, так і запису, що корисно для оцінки продуктивності диска при змішаних навантаженнях.
Приклад 3: Використання кількох файлів для емуляції навантаження
Іноді необхідно емулювати навантаження, коли кілька процесів одночасно звертаються до диска. Diskspd дозволяє це зробити, вказавши кілька файлів для тестування.
C:\Diskspd\diskspd.exe -b8k -t8 -o16 -r -w25 -d120 -c50m C:\testfile1.dat C:\testfile2.dat C:\testfile3.dat
У цьому прикладі використовується 3 файли (`C:\testfile1.dat`, `C:\testfile2.dat`, `C:\testfile3.dat`). Параметри:
- `-b8k`: Розмір блока 8KB.
- `-t8`: 8 потоків.
- `-o16`: 16 очікуваних операцій вводу/виводу.
- `-r`: Випадкові операції.
- `-w25`: 25% операцій запису.
- `-d120`: Тривалість тесту 120 секунд.
- `-c50m`: Розмір кожного тестового файлу 50MB.
Diskspd розподілятиме навантаження між зазначеними файлами, що дозволяє більш реалістично оцінити продуктивність диска в умовах конкуренції за ресурси.
Інтерпретація результатів Diskspd
Після завершення тесту Diskspd виводить детальну статистику, що включає:
- Пропускна здатність (МБ/с): Показує швидкість передавання даних у мегабайтах на секунду. Чим вище значення, тим краща продуктивність.
- IOPS (операцій на секунду): Показує кількість операцій вводу/виводу, виконаних за секунду. Високий IOPS вказує на гарну продуктивність при роботі з невеликими файлами та випадковим доступом.
- Затримка (мс): Показує середню затримку при виконанні операцій вводу/виводу. Низька затримка критична для застосунків, які потребують швидкого відгуку.
Аналізуючи ці показники, можна зробити висновки про продуктивність диска в різних сценаріях. Наприклад, низька пропускна здатність при послідовному записі може вказувати на проблеми з самим диском або з контролером диска. Низький IOPS при випадковому доступі може свідчити про необхідність оптимізації конфігурації диска або використання більш швидкого накопичувача (наприклад, SSD замість HDD).
Експертна порада: Для більш точної оцінки продуктивності рекомендується проводити кілька тестів із різними параметрами та усереднювати результати. Також важливо враховувати навантаження на сервер у момент тестування, щоб виключити вплив інших процесів на результати.
Потрібен максимум швидкості? Переходьте на NVMe!
Якщо тести показують, що ваш VDS потребує прискорення, наші NVMe сервери забезпечать видатну продуктивність для будь-яких завдань. — від €28.99/міс.
Обрати NVMe сервер →
rocket_launch
Quick pick
Looking for a server that just works?
Valebyte VPS — NVMe, 24/7 support, deploy in 60 seconds.
View VPS plans
arrow_forward
Використання PowerShell для тестування продуктивності диска
PowerShell надає зручні інструменти для моніторингу та тестування продуктивності диска на VDS Windows. За допомогою вбудованих командлетів можна отримати інформацію про швидкість читання/запису, IOPS і затримки, а також створювати власні скрипти для автоматизації тестування.
Приклад 1: Отримання базової інформації про диски
Get-WmiObject Win32_DiskDrive | Select-Object Model, InterfaceType, MediaType
Ця команда отримує інформацію про моделі дисків, тип інтерфейсу (SATA, SAS, NVMe) і тип носія (HDD, SSD). Це корисно для визначення характеристик встановлених дисків.
Очікуваний вивід буде приблизно таким:
Model InterfaceType MediaType
----- ------------- ---------
Msft Virtual Disk IDE Fixed hard disk media
У цьому прикладі видно, що використовується віртуальний диск (Msft Virtual Disk) з інтерфейсом IDE і типом носія "Fixed hard disk media".
Приклад 2: Вимірювання швидкості читання та запису за допомогою Test-Path
Цей метод використовує командлет `Test-Path` для створення, запису та читання невеликого файлу, вимірюючи час, витрачений на ці операції.
$FilePath = "C:\testfile_powershell.dat"
$FileSize = 10MB
$Data = New-Object byte[] $FileSize
$Random = New-Object Random
$Random.NextBytes($Data)
# Запис
$sw = [Diagnostics.Stopwatch]::StartNew()
[IO.File]::WriteAllBytes($FilePath, $Data)
$sw.Stop()
$WriteTime = $sw.ElapsedMilliseconds
$WriteSpeed = [Math]::Round(($FileSize / $WriteTime) * 100, 2)
# Читання
$sw = [Diagnostics.Stopwatch]::StartNew()
$ReadData = [IO.File]::ReadAllBytes($FilePath)
$sw.Stop()
$ReadTime = $sw.ElapsedMilliseconds
$ReadSpeed = [Math]::Round(($FileSize / $ReadTime) * 100, 2)
Remove-Item $FilePath
Write-Host "Швидкість запису: $($WriteSpeed) KB/s"
Write-Host "Швидкість читання: $($ReadSpeed) KB/s"
Цей скрипт створює файл розміром 10MB, заповнює його випадковими даними, записує його на диск, читає його назад, вимірює час запису та читання, обчислює швидкості та видаляє файл. Результати виводяться в консоль.
Приклад 3: Використання Лічильників продуктивності для моніторингу IOPS та затримок
PowerShell дозволяє отримувати доступ до лічильників продуктивності (Performance Counters), які надають інформацію про різні аспекти роботи системи, включаючи дискову підсистему.
$Disk = Get-WmiObject Win32_PerfFormattedData_PerfDisk_PhysicalDisk | Where-Object {$_.Name -ne "_Total"}
foreach ($d in $Disk) {
Write-Host "Диск: $($d.Name)"
Write-Host " % Disk Time: $($d.PercentDiskTime)"
Write-Host " Avg. Disk sec/Read: $($d.AvgDisksecRead)"
Write-Host " Avg. Disk sec/Write: $($d.AvgDisksecWrite)"
Write-Host " Disk Reads/sec: $($d.DiskReadPerSec)"
Write-Host " Disk Writes/sec: $($d.DiskWritePerSec)"
}
Цей скрипт отримує дані про фізичні диски, виключаючи сумарний об'єкт ("_Total"). Для кожного диска він виводить відсоток часу, протягом якого диск зайнятий, середній час читання та запису сектора, а також кількість операцій читання та запису за секунду (IOPS). Зверніть увагу, що значення є моментальними знімками. Для отримання більш точних даних, необхідно збирати дані протягом певного періоду часу та обчислювати середні значення.
Інтерпретація результатів PowerShell
- Швидкість читання/запису (KB/s): Більш високі значення вказують на більш швидку передачу даних. Низька швидкість може вказувати на проблему з диском або контролером.
- % Disk Time: Високий відсоток (>80%) може вказувати на те, що диск є вузьким місцем в системі.
- Avg. Disk sec/Read та Avg. Disk sec/Write: Більш низькі значення вказують на більш швидку обробку операцій введення/виведення. Значення вище 0.01 секунди (10 мс) можуть вказувати на проблеми з продуктивністю.
Disk Reads/sec та Disk Writes/sec (IOPS): Більш високі значення вказують на більшу кількість операцій введення/виведення, які диск може обробити за секунду. Типові значення для HDD складають 50-150 IOPS, для SSD-сервери – тисячі або десятки тисяч IOPS.
Експертна порада: PowerShell надає широкі можливості для автоматизації тестування продуктивності диска. Можна створити скрипти, які запускатимуться за розкладом та збирати статистику, дозволяючи відстежувати зміни в продуктивності з часом та виявляти потенційні проблеми на ранніх стадіях.
Windows Монітор продуктивності (Perfmon) – це графічний інструмент, що дозволяє відстежувати різні аспекти роботи системи, включаючи продуктивність диска. Він надає широкий набір лічильників, які можна використовувати для моніторингу швидкості читання/запису, IOPS, затримок та інших параметрів. Монітор продуктивності особливо корисний для візуального аналізу продуктивності диска в режимі реального часу та для виявлення проблем, пов'язаних з навантаженням.
Приклад 1: Запуск Монітора продуктивності та додавання лічильників
- Відкрийте Монітор продуктивності, набравши `perfmon` в рядку пошуку Windows та натиснувши Enter.
- В лівій панелі розгорніть "Засоби моніторингу" та виберіть "Монітор продуктивності".
- Натисніть на значок "+" (Додати) на панелі інструментів, щоб додати лічильники.
Приклад 2: Додавання лічильників для моніторингу диска
- У вікні "Додавання лічильників" виберіть об'єкт "PhysicalDisk" (для фізичних дисків) або "LogicalDisk" (для логічних дисків).
- Виберіть потрібні лічильники, наприклад:
- "% Disk Time": Відсоток часу, протягом якого диск зайнятий обробкою запитів.
- "Avg. Disk sec/Read": Середній час, необхідний диску для читання даних (в секундах).
- "Avg. Disk sec/Write": Середній час, необхідний диску для запису даних (в секундах).
- "Disk Reads/sec": Кількість операцій читання, виконаних диском за секунду (IOPS).
- "Disk Writes/sec": Кількість операцій запису, виконаних диском за секунду (IOPS).
- "Avg. Disk Queue Length": Середня довжина черги запитів до диска.
- Виберіть конкретний екземпляр диска (наприклад, "0 C:" для диска C:) або "_Total" для сумарної статистики по всім дискам.
- Натисніть "Додати", потім "ОК".
Приклад 3: Аналіз графіків Монітора продуктивності
Після додавання лічильників Монітор продуктивності почне відображати графіки, що показують їх значення в режимі реального часу.
- % Disk Time: Якщо графік постійно знаходиться на рівні 80% або вище, це може вказувати на те, що диск перевантажений та є вузьким місцем.
- Avg. Disk sec/Read та Avg. Disk sec/Write: Високі значення (вище 0.01 секунди) вказують на повільну обробку операцій введення/виведення.
- Disk Reads/sec та Disk Writes/sec: Дозволяють оцінити IOPS. Порівняйте отримані значення з типовими значеннями для вашого типу диска (HDD або SSD).
- Avg. Disk Queue Length: Довга черга (>2) може вказувати на те, що диск не встигає обробляти запити.
Приклад 4: Створення Набору збирачів даних для довгострокового моніторингу
Для аналізу продуктивності диска в довгостроковій перспективі можна створити набір збирачів даних (DCS), який автоматично збиратиме дані про продуктивність та зберігатиме їх у файл.
- В лівій панелі Монітора продуктивності розгорніть "Набори збирачів даних" та виберіть "Визначені користувачем".
- Клацніть правою кнопкою миші та виберіть "Створити" -> "Набір збирачів даних".
- Введіть ім'я для DCS (наприклад, "DiskPerformance") та виберіть "Створити вручну (розширений)".
- Виберіть "Створити журнали даних" та встановіть прапорець "Лічильник продуктивності".
- Натисніть "Додати" та додайте потрібні лічильники (як описано вище).
- Вкажіть інтервал збору даних (наприклад, 1 секунда).
- Вкажіть місцезнаходження для збереження файлів логів.
- Запустіть DCS, клацнувши правою кнопкою миші на його імені та вибравши "Запустити".
Після збору даних можна відкрити файли логів в Моніторі продуктивності та проаналізувати графіки, щоб виявити закономірності та аномалії в продуктивності диска.
Інтерпретація результатів Монітора продуктивності
Монітор продуктивності надає візуальне представлення даних про продуктивність диска, що полегшує виявлення проблем. Важливо пам'ятати, що значення лічильників можуть змінюватися залежно від навантаження на систему, тому для отримання більш точних результатів рекомендується проводити моніторинг протягом тривалого періоду часу та аналізувати середні значення.
Експертна порада: Монітор продуктивності дозволяє створювати звіти, які можна використовувати для документування продуктивності диска та для порівняння продуктивності до та після внесення змін до конфігурації системи.
Тестування швидкості диска за допомогою CrystalDiskMark
CrystalDiskMark – це популярна безкоштовна утиліта для тестування продуктивності жорстких дисків та твердотільних накопичувачів (SSD) під Windows. Вона надає простий та зручний інтерфейс для вимірювання швидкості послідовного та випадкового читання/запису, а також IOPS. CrystalDiskMark часто використовується для порівняння продуктивності різних дисків та для оцінки впливу різних налаштувань на продуктивність.
Приклад 1: Запуск CrystalDiskMark та вибір параметрів тестування
- Завантажте CrystalDiskMark з офіційного сайту та встановіть програму.
- Запустіть CrystalDiskMark.
- У головному вікні виберіть:
- Кількість прогонів: Кількість повторень тесту (зазвичай 3-5).
- Розмір тесту: Розмір файлу, що використовується для тестування (наприклад, 1GiB).
- Диск: Диск, який ви хочете протестувати.
Приклад 2: Запуск тестів CrystalDiskMark
CrystalDiskMark пропонує декілька типів тестів:
- Seq Q32T1: Послідовне читання/запис з глибиною черги 32 та 1 потоком. Емулює навантаження, коли декілька запитів відправляються на диск одночасно.
- 4KiB Q8T8: Випадкове читання/запис блоками 4KiB з глибиною черги 8 та 8 потоками. Емулює навантаження, коли декілька додатків одночасно звертаються до невеликих файлів.
- Seq: Просте послідовне читання/запис.
- 4KiB Q1T1: Випадкове читання/запис блоками 4KiB з глибиною черги 1 та 1 потоком. Емулює навантаження, коли один додаток звертається до невеликих файлів.
Натисніть кнопку "Всі", щоб запустити всі тести.
Приклад 3: Інтерпретація результатів CrystalDiskMark
Після завершення тестів CrystalDiskMark відобразить результати у вигляді таблиці.
- Seq Read/Write: Швидкість послідовного читання/запису в MB/s. Високі значення важливі для роботи з великими файлами (наприклад, відео, архіви).
- 4KiB Q32T1 Read/Write: Швидкість випадкового читання/запису блоками 4KiB з великою глибиною черги. Важлива для продуктивності баз даних та віртуальних машин.
- 4KiB Q1T1 Read/Write: Швидкість випадкового читання/запису блоками 4KiB з малою глибиною черги. Важлива для чуйності системи та швидкого запуску додатків.
Приклад 4: Порівняння результатів CrystalDiskMark з типовими значеннями
Щоб оцінити продуктивність вашого диска, порівняйте результати CrystalDiskMark з типовими значеннями для різних типів дисків:
| Тип диска | Seq Read (MB/s) | Seq Write (MB/s) | 4KiB Q32T1 Read (MB/s) | 4KiB Q32T1 Write (MB/s) |
|---|
| HDD (7200 RPM) | 100-200 | 100-200 | ~1 | ~1 |
| SSD (SATA) | 500-550 | 450-500 | 250-350 | 200-300 |
SSD (NVMe-сервери PCIe 3.0)| 2000-3500 | 1500-3000 | 400-600 | 300-500 |
| SSD (NVMe PCIe 4.0) | 5000-7000 | 4000-6000 | 600-800 | 500-700 |
Ці значення є орієнтовними та можуть варіюватися в залежності від конкретної моделі диска та конфігурації системи.
Інтерпретація результатів CrystalDiskMark
CrystalDiskMark надає швидкий та простий спосіб оцінити продуктивність диска. Високі значення швидкості послідовного читання/запису важливі для роботи з великими файлами, а високі значення швидкості випадкового читання/запису важливі для загальної чуйності системи та швидкого запуску додатків. Якщо результати CrystalDiskMark значно нижчі за очікувані, це може вказувати на проблему з диском, контролером диска або драйверами.
Експертна порада: Під час тестування SSD переконайтеся, що функція TRIM увімкнена, щоб забезпечити оптимальну продуктивність. TRIM дозволяє операційній системі повідомляти SSD, які блоки даних більше не використовуються та можуть бути очищені, що запобігає зниженню продуктивності з часом. Щоб перевірити, чи TRIM увімкнено, відкрийте командний рядок від імені адміністратора та виконайте команду `fsutil behavior query DisableDeleteNotify`. Якщо результат дорівнює "0", то TRIM увімкнено. Якщо результат дорівнює "1", то TRIM вимкнено і його необхідно увімкнути командою `fsutil behavior set DisableDeleteNotify 0`.
Оптимізуйте свій VDS: Оберіть ідеальний сервер!
Незалежно від результатів тестів, знайдіть ідеальне рішення для ваших потреб. Наші виділені сервери пропонують гнучкість та продуктивність.
Підібрати сервер →