Windows server нагрузка на диск

В серверных операционных системах Windows Server умышленно не отображается загрузка дисков в Task Manager. Можно посмотреть загрузки процессора, памяти, сеть, а дисков нет. Сделано это для того, чтобы снизить нагрузку на сервер, поскольку обращение к счётчикам дисков — довольно затратная операция.

win

Если очень нужно отобразить нагрузку на диски, выполняем под администратором команду:

diskperf -y

win

Диспетчер задач преображается:

win

Отключить счётчики дисков:

diskperf -n

win

Похожие материалы

Добавление шаблона vSphere 6.0 в центр сертификации

Олег

  • 9 февраля 2018
  • Подробнее о Добавление шаблона vSphere 6.0 в центр сертификации

Если у вас есть собственный центр сертификации, то сертификат для vSphere 6.0 удобно сгенерировать в нём. Для этого потребуется создать шаблон в центре сертификации. В этой статье распишу как это делать. Саму инструкцию я нагуглил где-то на просторах Интернета, но она на английском языке. Поэтому мне придётся заняться переводом. Скриншоты возьму те что есть, потому как шаблон в центре сертификации я уже внёс. И сертификат был успешно сгенерирован этим шаблоном. Так что инструкция — рабочая, что не может не радовать.

Популярно

За сегодня:

  • Адаптер M.2 на 6 SATA
  • Netbox — документируем сеть
  • Windows Server 2019 — терминальный сервер без домена

За все время:

  • Windows Server 2019 — терминальный сервер без домена
  • Из чего состоит компьютер?
  • Установка принтера Xerox Phaser 3100MFP на Windows 10
  • Supermicro: Intel Rapid Storage — настройка RAID для Legacy и UEFI
  • Windows Server 2019 — установка контроллера домена

За последнее время:

  • Адаптер M.2 на 6 SATA
  • Установка принтера Xerox Phaser 3100MFP на Windows 10
  • Supermicro — логин и пароль для IPMI
  • vCenter 6.7 — создаём Distributed Switch

Почитать

Исходные:
Windows Server 2016 Standard
диски для ОС собраны в RAID1, raid в свою очередь задействован встроенный на чипе материнки ASROCK X79 EXTREME6 сами диски SAMSUNG HD321KJ
Ко всему прочему диски шифрованы bitlocker

Тормозит работа ОС и приложений на нем. На нем исполняется в основном по загрузке RDP, СУБД(MSSQLSERVER, PosgtreSQL) 1С, libre.

Вопрос с остальными компонентами не стоит и близко Процессор, ОЗУ, сеть не загружены и запас огромен. Но диски тоже вроде как не загружены по следующим счетчикам: средняя длина очереди диска, среднее время чтения с диска, среднее время записи на диск, Обмен страниц/сек. Однако с учетом того что у конкретно этих моделей дисков по характеристикам «скорость внешней передачи данных» 300Мб\сек, то я склоняюсь что диски надо менять. Однако начальство не хочет их менять, нужен аргумент. Я не знаю как в числах именно выразить это. Есть только подозрения на основании опыта работы с данной ОС. Конкретного счетчика чтобы проверить именно эту характеристику диска «скорость внешней передачи данных» насколько я знаю нет.

Да я понимаю что вообще чип на материнке вообще не нужен нахрен включая своим врагам, а нужен нормальный аппаратный RAID. Да я понимаю что диски мягко говоря нищеброские даже по меркам домашнего пользователя для такого типа нагрузки как вышеперечисленное. К сожалению молекулярное администрирование не изучал и не копал в такие дебри, чтобы иметь какой-то численно выраженный показатель, который одназначно скажет что да надо менять диски. Долбанутый начальник возомнил себя админом, потому что десять лет назад 5 кнопок нажал и теперь помимо того что работаю админом так еще предварительно надо поработать разрушителем легенд. Как минимум уговорить не использовать RAID на материнке мне не удалось хотя в данном примере я понимаю что есть элементарно риск потерять данные или сбойный в работе RAID при отказе питания или сбой при записи, как минимум в пример.

Одной из основных метрик, позволяющих оценить производительность существующей или проектируемой системы хранения данных является IOPS (Input/Output Operations Per Second — количество операций ввода/вывода). Говоря простым языком, IOPS – этой количество блоков, которое успевает считаться или записаться на носитель или файловую систему в единицу времени. Чем это число больше – тем больше производительность данной дисковой подсистемы (откровенно говоря, само по себе значение IOPS стоит рассматривать в комплексе с другими характеристиками СХД, таким как средняя задержка, пропускная способность и т.п.).

В этой статье мы рассмотрим несколько способов измерения производительности используемой системы хранения данных в IOPS под Windows (локальный жесткий, SSD диск, сетевая папка SMB, CSV том или LUN на СХД в сети SAN).

Содержание:

  • Счетчики производительности дисковой подсистемы Windows
  • Тестирование IOPS в Windows с помощью DiskSpd
  • Как получить IOPS и производительность дисковой подсистемы с помощью PowerShell?

Счетчики производительности дисковой подсистемы Windows

Вы можете оценить текущий уровень нагрузки на дисковую подсистему с помощью встроенных счетчиков производительности Windows из Performance Monitor. Чтобы собрать данные по этим счетчикам:

  1. Запустите
    Perfmon
    ;
  2. Создайте новый набор сборщиков данных (Data Collector Set). Выберите Create manually;
    perfmon - измерение производительности дисков

  3. Выберите опцию Create data logs -> Performance counter;
    Create data logs - data-lazy-src=

  • Теперь в свойствах нового набора для сбора данных добавьте следующие счетчики производительности для объекта Physical Disk (можете выбрать счётчики для конкретного диска или для всех доступных локальных дисков):
    • Avg. Disk Sec./Transfer
    • Avg. Disk Queue Length
    • Avg Disk Bytes/Transfer
    • Disk Bytes/sec
    • Disk Transfers/sec
    • Split IO/sec
  • Можете изменить другие параметра сбора данных. По умолчанию значения счетчиков собираются каждые 15 секунд.

    Чтобы отображать данные о производительности дисков в реальном времени нужно добавить указанные счётчик в Perfmon в разделе Monitoring Tools -> Performance Monitor.

    physicaldisk - добавить счетчики производительности для физического диска

  • Осталось запустить сбор данных счетчиков производительности (Start) и дождаться сбора достаточного количества информации для анализа. После этого щелкните ПКМ по набору у выберите Stop;
    собрать данные производительсноти дисков с помощью Perfmon

  • Чтобы просмотреть собранные данные по диску, перейдите в раздел Perfmon -> Reports -> User Defined -> Data_Disk_IO — > ваш набор. По умолчанию данные по диску отображаются в виде графиков;
  • С помощью
    Ctrl+G
    переключитесь в режим Report.

    perfmon данные счетчиков по текущей нагрузке на диск

  • Как интерпретировать результаты производительности дисков в Perfmon? Для быстрого анализа производительности дисковой подсистемы необходимо посмотреть на значения как минимум следующих 5 счетчиков.

    При анализе данные счётчиков желательно иметь представление о конфигурации физических дисков (используется ли RAID/Stripe/количество и типы дисков, наличие кэша и т.д.).

    • Disk sec/Transfer – время, необходимое для выполнения одной операции записи/чтения на устройство хранения/диск — disk latency. Если задержка более 25 мс (0.25) или выше, значит дисковый массив не успевает выполнять операции. Для высоконагруженных систем значение не должно превышать 10 мс (0.1);
    • Disk Transfers/sec – количество операций чтения/записи в секунду (IOPS). Это основной показатель интенсивности обращений к дискам (примерные значения в IOPS для разных типов дисков представлены в конце статьи);
    • Disk Bytes/Sec средняя скорость обмена с диском (чтения/записи) за 1 секунду. Максимальные значения зависит от типа диска (150-250 Мб/секунду — для обычного диска и 500-10000 для SSD);
    • Split IO/sec показатель фрагментации диска, когда операционной системе приходится разделять одну операцию ввода/вывода на несколько операций. Может также говорить о том, приложение запрашивает слишком большие блоки данных, которые немогут быть переданы за одну операцию;
    • Avg. Disk Queue Length длина очереди к диску (количество транзакций ожидающий обработку). Для одиночного диска длина очереди не должна превышать 2. Для RAID массива из 4 дисков длина очереди до 8 будет считаться допустимым значением.

    Тестирование IOPS в Windows с помощью DiskSpd

    Для генерации нагрузки на дисковую подсистему и измерения ее производительности Microsoft рекомендует использовать утилиту DiskSpd (https://aka.ms/diskspd). Эта консольная утилита, которая в несколько потоков может осуществлять операции I/O с указанным таргетом. Я довольно часто использую эту утилиту чтобы замерить производительность СХД в IOPS и получить максимальную скорость чтения/записи c данного сервера (можно конечно измерить производительность и со стороны СХД, в этом случае diskspd будет использоваться для генерации нагрузки).

    Утилита не требует установки, просто скачайте и распакуйте архив на локальный диск. Для x64 битных систем используйте версию diskspd.exe из каталога amd64fre.

    Я использую такую команду для тестирования диска:

    diskspd.exe –c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E:\diskpsdtmp.dat > DiskSpeedResults.txt

    Важно. При использовании diskspd.exe генерируется довольно большая нагрузка на диски и CPU тестируемой системы. Поэтому, чтобы не вызвать падение производительности для пользователей, не рекомендуем запускать ее на продуктивных системах в часы пиковой нагрузки.

    diskspd.exe утилита для стресс тестирования производительности дисков в Windows

    • -c50G
      – размер файла 50 Гб (лучше использовать большой размер файла, чтобы он не поместился в кэш контроллера СХД);
    • -d30
      0 – продолжительность тестирования в секундах;
    • -r
      – произвольное чтение/запись (если нужно тестировать последовательный доступ, используйте –s);
    • -t8
      – количество потоков;
    • -w40
      – соотношение операций записи к операциям чтения 40% / 60%;
    • -o32
      — длина очереди;
    • -b64K
      — размер блока;
    • -Sh
      — не использовать кэширование;
    • -L
      — измерять задержки (latency) ;
    • E:\diskpsdtmp.dat
      – путь к тестовому файл.

    После окончания стресс-теста из полученных таблиц можно получить средние значения производительности.

    Например, в моем тесте получены следующие общие данные про производительности (Total IO):

    • MiB/s — 241 (около 252 Мб/сек, неплохо)
    • IOPS — 3866.49 (отлично!)
    • Средняя задержка — 66.206 мс (высоковато!)

    данные по максимальным IOPS и скорости чтения /записи на диск в Windows из diskspd.exe

    Можно получить отдельные значения только по операциям чтения (секция Read IO ) или записи (секция Write IO ).

    Протестировав с помощью diskspd несколько дисков или LUN на СХД, вы сможете сравнить их или выбрать массив с нужной производительностью под свои задачи.

    Как получить IOPS и производительность дисковой подсистемы с помощью PowerShell?

    Недавно мне на глаза попался PowerShell скрипт (автор Microsoft MVP, Mikael Nystrom), являющийся по сути надстройкой над утилитой SQLIO.exe (набора тестов для расчета производительности файлового хранилища).

    Примечание. В декабре 2015 года Microsoft объявила о прекращении поддержки утилиты и замене SQLIO на более универсальный инструмент — Diskspd, удалив файлы с дистрибутивом SQLIO со своего сайта. Поэтому, вам придется искать sqlio.exe самостоятельно, либо скачать с нашего сайта (находится в архиве со скриптом).

    Итак, скачайте архив содержащий 2 файла: SQLIO.exe и DiskPerformance.ps1 (disk-perf-iops.ZIP — 73Кб) и распакуйте архив в произвольный каталог.

    Скрипт DiskPerformance и утилита sqlio.exe

    Пример запуска PowerShell скрипта для определения IOPS:

    .\DiskPerformance.ps1 -TestFileName test.dat –TestFileSizeInGB 1 -TestFilepath C:\temp -TestMode Get-LargeIO -FastMode True -RemoveTestFile True -OutputFormat Out-GridView

    Оценка диска в IOPS с помощью Powershell

    Я использовал в скрипте следующие аргументы:

    • -TestFileName test.datимя файла, создаваемого утилитой FSUTIL;
    • –TestFileSizeInGB 1 — размер файла для тестов. Допустимые варианты 1,5,10,50,100,500,1000 Гб. Размер файла должен быть больше, чем размер кэша системы. Иначе будет измеряться IOPS для данных в кэше, а не на диске;
    • -TestFilepath C:\Temp указывается диск, для которого будет выполняться расчет производительности и каталог на диске, в котором будет создаваться тестовый файл. Допустимо указать UNC путь к сетевой папке;
    • —TestMode Get-LargeIO — есть два варианта измерения нагрузки, Get-SmallIO – измеряются IOPS, Get-LargeIO – измеряется скорость передачи данных. Разница между аргументами SmallIO и LargeIO, в размерах блоков при замере скорости 8 Кбайт и 512 Кбайт, и типе доступа Random или Sequential соответственно;
    • -FastMode Trueв режиме Fastmode каждый тест выполняется 10 секунд, иначе 60 сек;
    • -RemoveTestFile Trueудалить тестовый файл по окончании теста;
    • -OutputFormat Out-GridView — возможен вывод результатов измерения в консоль PowerShell (Format-Table) или в отдельное окно графической таблицы (Out-Gridview);

    Производительность диска в IOPS

    В нашем случае дисковый массив (тестировался виртуальный vmdk диск на VMFS хранилище, расположенном на дисковой полке HP MSA 2040 с доступом через SAN) показал среднее значение IOPS около 15000 и скорости передачи данных (пропускная способность) около 5 Гбит/сек.

    В следующей таблице указаны примерные значения IOPS для различных типов дисков:

    Тип IOPS
    SSD(SLC) 6000
    SSD(MLC) 1000
    15K RPM 175-200
    10K RPM 125-150
    7.2K RPM 50-75
    RAID5 из 6 дисков с 10000 RPM 900

    Ниже приведены ряд рекомендаций по производительности дисков в IOPS для распространенных сервисов:

    • Microsoft Exchange 2010 – с 5000 пользователей, каждый из которых получает 75 и отправляет 30 писем в день, потребует как минимум 3750 IOPS
    • Microsoft SQL 2008 Server – с 3500 SQL транзакциями в секунду (TPS) — 28000 IOPS
    • Обычный сервер приложений Windows на 10-100 пользователей — 10-40 IOPS

    Windows Server 2019

    You can view the disk usage in the Windows Server 2019 Task Manager by running the diskperf command “-y” option at the command prompt or in PowerShell. In the default state of Windows Server 2019, disk usage is not displayed on the Performance tab of Task Manager. This article describes how to use the command prompt to display disk usage on the Performance tab of Windows Server 2019.

    Windows Server 2019:Disk usage display settings

    Step 1:
    Right-click the Windows mark at the bottom left of the desktop screen-> select “Run”.

    Step 2:
    Enter “cmd”-> select “OK”.

    Step 3:
    Execute the following command at the command prompt.
    *The execution command is the same for PowerShell.

    diskperf -y

    To hide the disk usage, run the “diskperf -n” command to hide it.

    Step 4:
    Right-click on a blank area without an icon on the taskbar-> select Task Manager.

    Step 5:
    Select the Performance tab and check that the disc is displayed.

    Часто встречающийся запрос: у меня есть сервер под управлением Windows Server 2003/2008/2012(R2), стоит задача увеличить производительность дисковой подсистемы в существующем сервере или собрать новый. Конечно, производительности много не бывает, но мы всегда стараемся предложить заказчику необходимый и достаточный вариант.
    Для детального анализа всех аспектов производительности желательно использовать xperf и Windows Performance Analyzer из набора Windows Performance Toolkit. WPT сейчас входит в состав ADK и позволяет в числе прочего ответить на другой популярный в наши дни вопрос: «будет ли эффективным SSD кэш и каков его оптимальный размер?»

    Правильное применение Windows Performance Analyzer — тема для отдельной статьи. На изучение WPA у вас могут уйти многие часы, так что начать можно с базовых инструментов, так как для начала нам нужно получить ответ на два простых вопроса:

    • справляется ли дисковая подсистема с нагрузками?
    • если нет, то какие параметры требуют улучшения и насколько именно?

    Для этого нам нужно провести мониторинг нагрузки за достаточно продолжительное время. Естественно, нагрузка должна быть максимально приближена к «боевой». Например, если речь идет о некой CRM системе, то собирать статистику нужно за весь рабочий день или за несколько часов пиковой нагрузки, когда с системой интенсивно работает большая часть пользователей.

    Использовать можно самый обыкновенный Perfmon. Запускаем:

    Создаем новую сборщиков данных:

    Create manually, затем выбираем System Performance и добавляем счетчики для объекта Physical Disk:

    Нужны данные не по всем дискам вместе (_Total), а раздельно по интересующим томам. Счетчики:

    • Avg. Disks Read Queue Length, Avg. Disk Write Queue Length: средняя длина очереди на чтение и запись за интервал измерения. Является вычисляемой, т.е. просто умножается Disk Transfers/sec на Disk sec/Transfer
    • Current Disk Queue Length: текущая длина очереди
    • Disk Reads/sec, Disk Writes/sec: усредненное (за интервал измерения) количество завершенных запросов на чтение/запись в секунду, т.е. пресловутые IOPS’ы. Сами по себе IOPS’ы мало что значат, т.к. важно не только обработать большое количество запросов в секунду, но и обеспечить максимально быструю обработку каждого отдельного запроса. Читайте ниже про задержки.
    • Avg. Disk Bytes/Read, Avg. Disk Bytes/Write: средний размер одной операции ввода-вывода
    • Avg. Disk sec/Read, Avg. Disk sec/Write: отображает такой важный показатель, как полную задержку (latency) — сколько времени ушло на выполнение запроса. Высокие задержки — одна из главных причин проблем с производительностью дисковой подсистемы, особенно для OLTP нагрузок. Можно иметь систему, способную обработать десятки тысяч IOPS на случайный доступ блоками 4k, но при задержке в 500мс. Приемлемые значения зависят от решаемой задачи, в большинстве случаев (OLTP, VDI, почта) стоит бить тревогу при росте задержки свыше 15-30мс.

    Интервал измерения можно задать в свойствах сборщика, общее время работы — в свойствах группы:

    Запускаем сборщик и получаем на выходе лог в двоичном формате (blg файл), который можно изучать в том же perfmon или конвертировать в CSV, например, для использования в Gnuplot.

    Зная текущую конфигурацию дисковой подсистемы и счетчики производительности, мы можем более-менее точно запланировать возможные действия. Например, когда в пиках появляется по 10000 IOPS на запись по 4-32К, очередь растет до нескольких десятков и задержка аж до 500-700мс и выше, то можно точно сказать, что имеющейся пары SAS HDD в зеркале тут не хватит и проблему можно решить добавлением дисков, включением write-back кэша, использованием SSD (напрямую или в качестве кэша, в зависимости от конкретной задачи, которая будет определять профиль нагрузки).
    Самый быстрый способ — отправить подробную информацию о сервисах, конфигурации и архив с логом специалистам компании True System и получить детальный отчет и несколько вариантов решений.

    Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии
  • Как на компе отключить обновления windows
  • Некоторые параметры скрыты или управляются вашей организацией windows 10 ваш телефон
  • Обновление для windows 10 version 1607 для систем на базе процессоров x64 kb4049411
  • Проверенные сайты для скачивания windows 10
  • Powermill для windows 7