Как проверить скорость жесткого диска на VDS Windows?

calendar_month 18 ноября 2025 schedule 10 мин. чтения visibility 19 просмотров
person
Valebyte Team
Как проверить скорость жесткого диска на VDS Windows?

Как проверить скорость жесткого диска на 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 выводит подробную статистику, включающую:
  • Throughput (MB/s): Показывает скорость передачи данных в мегабайтах в секунду. Чем выше значение, тем лучше производительность.
  • IOPS (Operations Per Second): Показывает количество операций ввода/вывода, выполненных за секунду. Высокий IOPS указывает на хорошую производительность при работе с небольшими файлами и случайном доступе.
  • Latency (ms): Показывает среднюю задержку при выполнении операций ввода/вывода. Низкая задержка критична для приложений, требующих быстрого отклика.
Анализируя эти показатели, можно сделать выводы о производительности диска в различных сценариях. Например, низкий throughput при последовательной записи может указывать на проблемы с самим диском или с контроллером диска. Низкий IOPS при случайном доступе может говорить о необходимости оптимизации конфигурации диска или использования более быстрого накопителя (например, SSD вместо HDD). Экспертный совет: Для более точной оценки производительности рекомендуется проводить несколько тестов с различными параметрами и усреднять результаты. Также важно учитывать нагрузку на сервер в момент тестирования, чтобы исключить влияние других процессов на результаты.

Использование 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: Использование Performance Counters для мониторинга 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 предоставляет широкие возможности для автоматизации тестирования производительности диска. Можно создать скрипты, которые будут запускаться по расписанию и собирать статистику, позволяя отслеживать изменения в производительности со временем и выявлять потенциальные проблемы на ранних стадиях.

Анализ производительности диска через Performance Monitor

Windows Performance Monitor (Perfmon) – это графический инструмент, позволяющий отслеживать различные аспекты работы системы, включая производительность диска. Он предоставляет широкий набор счетчиков, которые можно использовать для мониторинга скорости чтения/записи, IOPS, задержек и других параметров. Performance Monitor особенно полезен для визуального анализа производительности диска в режиме реального времени и для выявления проблем, связанных с нагрузкой. Пример 1: Запуск Performance Monitor и добавление счетчиков
  • Откройте Performance Monitor, набрав `perfmon` в строке поиска Windows и нажав Enter.
  • В левой панели разверните "Monitoring Tools" и выберите "Performance Monitor".
  • Нажмите на значок "+" (Add) на панели инструментов, чтобы добавить счетчики.
Пример 2: Добавление счетчиков для мониторинга диска
  • В окне "Add Counters" выберите объект "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" для суммарной статистики по всем дискам.
  • Нажмите "Add", затем "OK".
Пример 3: Анализ графиков Performance Monitor После добавления счетчиков Performance Monitor начнет отображать графики, показывающие их значения в режиме реального времени.
  • % 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: Создание Data Collector Set для долгосрочного мониторинга Для анализа производительности диска в долгосрочной перспективе можно создать Data Collector Set (DCS), который будет автоматически собирать данные о производительности и сохранять их в файл.
  • В левой панели Performance Monitor разверните "Data Collector Sets" и выберите "User Defined".
  • Щелкните правой кнопкой мыши и выберите "New" -> "Data Collector Set".
  • Введите имя для DCS (например, "DiskPerformance") и выберите "Create manually (Advanced)".
  • Выберите "Create data logs" и установите флажок "Performance counter".
  • Нажмите "Add" и добавьте нужные счетчики (как описано выше).
  • Укажите интервал сбора данных (например, 1 секунда).
  • Укажите местоположение для сохранения файлов логов.
  • Запустите DCS, щелкнув правой кнопкой мыши на его имени и выбрав "Start".
После сбора данных можно открыть файлы логов в Performance Monitor и проанализировать графики, чтобы выявить закономерности и аномалии в производительности диска. Интерпретация результатов Performance Monitor Performance Monitor предоставляет визуальное представление данных о производительности диска, что облегчает выявление проблем. Важно помнить, что значения счетчиков могут меняться в зависимости от нагрузки на систему, поэтому для получения более точных результатов рекомендуется проводить мониторинг в течение длительного периода времени и анализировать средние значения. Экспертный совет: Performance Monitor позволяет создавать отчеты, которые можно использовать для документирования производительности диска и для сравнения производительности до и после внесения изменений в конфигурацию системы.

Тестирование скорости диска с помощью CrystalDiskMark

CrystalDiskMark – это популярная бесплатная утилита для тестирования производительности жестких дисков и твердотельных накопителей (SSD) под Windows. Она предоставляет простой и удобный интерфейс для измерения скорости последовательного и случайного чтения/записи, а также IOPS. CrystalDiskMark часто используется для сравнения производительности различных дисков и для оценки влияния различных настроек на производительность. Пример 1: Запуск CrystalDiskMark и выбор параметров тестирования
  • Скачайте CrystalDiskMark с официального сайта и установите программу.
  • Запустите CrystalDiskMark.
  • В главном окне выберите:
    • Number of Runs: Количество повторений теста (обычно 3-5).
    • Test Size: Размер файла, используемого для тестирования (например, 1GiB).
    • Drive: Диск, который вы хотите протестировать.
Пример 2: Запуск тестов CrystalDiskMark CrystalDiskMark предлагает несколько типов тестов:
  • Seq Q32T1: Последовательное чтение/запись с глубиной очереди 32 и 1 потоком. Эмулирует нагрузку, когда несколько запросов отправляются на диск одновременно.
  • 4KiB Q8T8: Случайное чтение/запись блоками 4KiB с глубиной очереди 8 и 8 потоками. Эмулирует нагрузку, когда несколько приложений одновременно обращаются к небольшим файлам.
  • Seq: Простое последовательное чтение/запись.
  • 4KiB Q1T1: Случайное чтение/запись блоками 4KiB с глубиной очереди 1 и 1 потоком. Эмулирует нагрузку, когда одно приложение обращается к небольшим файлам.
Нажмите кнопку "All", чтобы запустить все тесты. Пример 3: Интерпретация результатов CrystalDiskMark После завершения тестов CrystalDiskMark отобразит результаты в виде таблицы.
  • Seq Read/Write: Скорость последовательного чтения/записи в MB/s. Высокие значения важны для работы с большими файлами (например, видео, архивы).
  • 4KiB Q32T1 Read/Write: Скорость случайного чтения/записи блоками 4KiB с большой глубиной очереди. Важна для производительности баз данных и виртуальных машин.
  • 4KiB Q1T1 Read/Write: Скорость случайного чтения/записи блоками 4KiB с малой глубиной очереди. Важна для отзывчивости системы и быстрого запуска приложений.
Пример 4: Сравнение результатов CrystalDiskMark с типичными значениями Чтобы оценить производительность вашего диска, сравните результаты CrystalDiskMark с типичными значениями для различных типов дисков:
SSD (NVMe серверы PCIe 3.0)
Тип дискаSeq Read (MB/s)Seq Write (MB/s)4KiB Q32T1 Read (MB/s)4KiB Q32T1 Write (MB/s)
HDD (7200 RPM)100-200100-200~1~1
SSD (SATA)500-550450-500250-350200-300
2000-35001500-3000400-600300-500
SSD (NVMe PCIe 4.0)5000-70004000-6000600-800500-700
Эти значения являются ориентировочными и могут варьироваться в зависимости от конкретной модели диска и конфигурации системы. Интерпретация результатов CrystalDiskMark CrystalDiskMark предоставляет быстрый и простой способ оценить производительность диска. Высокие значения скорости последовательного чтения/записи важны для работы с большими файлами, а высокие значения скорости случайного чтения/записи важны для общей отзывчивости системы и быстрого запуска приложений. Если результаты CrystalDiskMark значительно ниже ожидаемых, это может указывать на проблему с диском, контроллером диска или драйверами. Экспертный совет: При тестировании SSD убедитесь, что функция TRIM включена, чтобы обеспечить оптимальную производительность. TRIM позволяет операционной системе сообщать SSD, какие блоки данных больше не используются и могут быть очищены, что предотвращает снижение производительности со временем. Чтобы проверить, включен ли TRIM, откройте командную строку от имени администратора и выполните команду `fsutil behavior query DisableDeleteNotify`. Если результат равен "0", то TRIM включен. Если результат равен "1", то TRIM выключен и его необходимо включить командой `fsutil behavior set DisableDeleteNotify 0`.

Поделиться записью: