Як перевірити швидкість жорсткого диска на VDS Windows?
Продуктивність жорсткого диска (HDD) або твердотільного накопичувача (SSD) на вашому віртуальному виділеному сервері (VDS) Windows має вирішальне значення для загальної швидкості та чуйності вашого сервера. Повільний диск може призвести до затримок у роботі застосунків, баз даних і вебсайтів. У цій статті ми детально розглянемо різні методи та інструменти, які дозволяють перевірити швидкість диска на VDS Windows, щоб ви могли виявити потенційні вузькі місця та вжити заходів для їх усунення.
Зміст
- Перевірка швидкості диска за допомогою Diskspd
- Використання PowerShell для тестування продуктивності диска
- Аналіз продуктивності диска через Performance Monitor
- Тестування швидкості диска за допомогою CrystalDiskMark
Перевірка швидкості диска за допомогою 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`: Вказує ім'я файлу, який буде використовуватися для тестування. Переконайтеся, що користувач, під яким ви запускаєте команду, має права на запис у зазначену директорію.
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.
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.
- Пропускна здатність (МБ/с): Показує швидкість передавання даних у мегабайтах на секунду. Чим вище значення, тим краща продуктивність.
- IOPS (операцій на секунду): Показує кількість операцій вводу/виводу, виконаних за секунду. Високий IOPS вказує на гарну продуктивність при роботі з невеликими файлами та випадковим доступом.
- Затримка (мс): Показує середню затримку при виконанні операцій вводу/виводу. Низька затримка критична для застосунків, які потребують швидкого відгуку.
Потрібен максимум швидкості? Переходьте на NVMe!
Якщо тести показують, що ваш VDS потребує прискорення, наші NVMe сервери забезпечать видатну продуктивність для будь-яких завдань. — від €28.99/міс.
Обрати NVMe сервер →Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
Використання 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.
Аналіз продуктивності диска через Монітор продуктивності
Windows Монітор продуктивності (Perfmon) – це графічний інструмент, що дозволяє відстежувати різні аспекти роботи системи, включаючи продуктивність диска. Він надає широкий набір лічильників, які можна використовувати для моніторингу швидкості читання/запису, IOPS, затримок та інших параметрів. Монітор продуктивності особливо корисний для візуального аналізу продуктивності диска в режимі реального часу та для виявлення проблем, пов'язаних з навантаженням. Приклад 1: Запуск Монітора продуктивності та додавання лічильників- Відкрийте Монітор продуктивності, набравши `perfmon` в рядку пошуку Windows та натиснувши Enter.
- В лівій панелі розгорніть "Засоби моніторингу" та виберіть "Монітор продуктивності".
- Натисніть на значок "+" (Додати) на панелі інструментів, щоб додати лічильники.
- У вікні "Додавання лічильників" виберіть об'єкт "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" для сумарної статистики по всім дискам.
- Натисніть "Додати", потім "ОК".
- % 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) може вказувати на те, що диск не встигає обробляти запити.
- В лівій панелі Монітора продуктивності розгорніть "Набори збирачів даних" та виберіть "Визначені користувачем".
- Клацніть правою кнопкою миші та виберіть "Створити" -> "Набір збирачів даних".
- Введіть ім'я для DCS (наприклад, "DiskPerformance") та виберіть "Створити вручну (розширений)".
- Виберіть "Створити журнали даних" та встановіть прапорець "Лічильник продуктивності".
- Натисніть "Додати" та додайте потрібні лічильники (як описано вище).
- Вкажіть інтервал збору даних (наприклад, 1 секунда).
- Вкажіть місцезнаходження для збереження файлів логів.
- Запустіть DCS, клацнувши правою кнопкою миші на його імені та вибравши "Запустити".
Тестування швидкості диска за допомогою CrystalDiskMark
CrystalDiskMark – це популярна безкоштовна утиліта для тестування продуктивності жорстких дисків та твердотільних накопичувачів (SSD) під Windows. Вона надає простий та зручний інтерфейс для вимірювання швидкості послідовного та випадкового читання/запису, а також IOPS. CrystalDiskMark часто використовується для порівняння продуктивності різних дисків та для оцінки впливу різних налаштувань на продуктивність. Приклад 1: Запуск CrystalDiskMark та вибір параметрів тестування- Завантажте CrystalDiskMark з офіційного сайту та встановіть програму.
- Запустіть CrystalDiskMark.
- У головному вікні виберіть:
- Кількість прогонів: Кількість повторень тесту (зазвичай 3-5).
- Розмір тесту: Розмір файлу, що використовується для тестування (наприклад, 1GiB).
- Диск: Диск, який ви хочете протестувати.
- Seq Q32T1: Послідовне читання/запис з глибиною черги 32 та 1 потоком. Емулює навантаження, коли декілька запитів відправляються на диск одночасно.
- 4KiB Q8T8: Випадкове читання/запис блоками 4KiB з глибиною черги 8 та 8 потоками. Емулює навантаження, коли декілька додатків одночасно звертаються до невеликих файлів.
- Seq: Просте послідовне читання/запис.
- 4KiB Q1T1: Випадкове читання/запис блоками 4KiB з глибиною черги 1 та 1 потоком. Емулює навантаження, коли один додаток звертається до невеликих файлів.
- Seq Read/Write: Швидкість послідовного читання/запису в MB/s. Високі значення важливі для роботи з великими файлами (наприклад, відео, архіви).
- 4KiB Q32T1 Read/Write: Швидкість випадкового читання/запису блоками 4KiB з великою глибиною черги. Важлива для продуктивності баз даних та віртуальних машин.
- 4KiB Q1T1 Read/Write: Швидкість випадкового читання/запису блоками 4KiB з малою глибиною черги. Важлива для чуйності системи та швидкого запуску додатків.
| Тип диска | 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 |
| 2000-3500 | 1500-3000 | 400-600 | 300-500 | |
| SSD (NVMe PCIe 4.0) | 5000-7000 | 4000-6000 | 600-800 | 500-700 |
Оптимізуйте свій VDS: Оберіть ідеальний сервер!
Незалежно від результатів тестів, знайдіть ідеальне рішення для ваших потреб. Наші виділені сервери пропонують гнучкість та продуктивність.
Підібрати сервер →