Как посмотреть очередь диска windows

Внедрив в Windows комплексный Монитор ресурсов (Resource Monitor), разработчики Microsoft предоставили администраторам великолепный инструмент, позволяющий быстро получать всю необходимую информацию о состоянии критически важных серверов. В цикле статей о Мониторе ресурсов я расскажу о четырех ключевых аспектах этого средства мониторинга: ЦП, память, диск и сеть. В этой статье речь пойдет о различных показателях, касающихся состояния дисковой подсистемы. Я расскажу о назначении графиков, представленных в Мониторе ресурсов на вкладке «Диск» (Disk), и вкратце объясню, как пользоваться полученными сведениями.

Для удобства рассмотрения мы будем использовать скриншот Монитора ресурсов (рис. A), запущенного на производственном сервере под управлением Windows Server 2008 R2. На этом сервере установлен Exchange Server 2010 со всеми ролями, поэтому он нуждается в большой дисковой подсистеме с приемлемой производительностью. (Примечание: как и все другие наши серверы, этот работает в виртуальной машине на базе VMware vSphere 4.1.)

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

Рисунок A. Монитор ресурсов в Windows Server 2008 R2 (нажмите на изображении для увеличения).

Начнем с общего обзора консоли. Большую часть окна занимают статистические показатели, о которых я подробно расскажу ниже. Справа расположены графики, каждый из которых представляет один из важных показателей производительности дисковой подсистемы.

Ниже я подробно рассмотрю каждый показатель. Я не буду повторяться: если показатель присутствует в нескольких местах, я упомяну его только в первый раз.

Процессы с дисковой активностью

В разделе «Процессы с дисковой активностью» (Processes With Disk Activity) перечислены все запущенные процессы, использующие ресурсы хранения. В списке показано имя исполняемого файла и ряд связанных с ним статистических показателей.

• «Образ» (Image) – имя исполняемого файла. Это имя процесса, активно использующего диск.
• «ИД процесса» (PID) – идентификатор процесса. Может пригодиться для управления процессами с использованием других утилит или для поиска процессов в Диспетчере задач (Task Manager).
• «Чтение (байт/с)» (Read (B/sec)) – среднее количество прочитанных процессом байтов в секунду за последнюю минуту.
• «Запись (байт/с)» (Write (B/sec)) – среднее количество записанных процессом байтов в секунду за последнюю минуту.
• «Всего (байт/с)» (Total (B/sec)) – среднее количество использованных байтов в секунду за последнюю минуту.

Информация, которая приводится в этом разделе, не особенно актуальна для диагностики – она лишь позволяет выяснить, какие процессы потребляют больше всего ресурсов диска. На рис. A, например, можно заметить, что больше всего операций чтения с диска выполняет процесс с именем «DPMRA.exe».

Работа диска

В разделе «Работа диска» (Disk Activity) собраны более полезные для диагностики сведения. Самый ценный показатель – пожалуй, время ответа, поскольку его можно оценить, даже не зная исходной конфигурации дисковой подсистемы.

Справа от названия раздела расположены два небольших индикатора. Зеленый показывает текущий дисковый ввод/вывод (Disk I/O), то есть, количество передаваемых в данный момент данных), а синий – максимум активного времени дисковой подсистемы (Highest Active Time).

• «Файл» (File) – имя файла, используемого процессом. Здесь указывается полный путь к файлу, чтобы его легче было найти.
• «Приоритет ввода/вывода» (I/O Priority) – приоритет операций ввода/вывода.
• «Время ответа (мс)» (Response Time (ms)) – время отклика диска в миллисекундах. Как правило, чем ниже этот показатель, тем лучше. В целом, время ответа менее 10 мс свидетельствует о хорошей производительности. Не страшно, если этот показатель время от времени превышает отметку в 10 мс, но если системе постоянно приходится дожидаться ответа дисковой подсистемы более 20 мс, это может свидетельствовать о наличии проблем, а конечные пользователи в таком случае заметят ощутимое снижение быстродействия. Если время ответа достигает 50 мс и выше, значит, проблема действительно серьезная. На рис. A, как видите, время ответа составляет 5-6 мс, так что дисковая подсистема функционирует исправно, если судить по этому показателю.

Запоминающие устройства

В разделе «Запоминающие устройства» (Storage) содержатся следующие сведения:

• «Логический диск» (Logical Disk) – буква диска.
• «Физический диск» (Physical disk) – выбранный для мониторинга физический диск.
• «Активное время (%)» (Active Time (%)) – сколько времени диск проводит, активно обслуживая запросы, в противовес времени простоя. Если активность диска постоянно очень высока (скажем, более 80%), это может указывать на наличие потенциальных проблем, связанных с ресурсами хранения. Если пользователи жалуются на низкое быстродействие, а активное время постоянно составляет 100%, возможно, необходимо увеличить объем дисковой подсистемы или установить более производительные накопители.
• «Свободно (МБ)» (Available Space (MB)) – количество свободного пространства в текущем томе диска.
• «Всего (МБ)» (Total Space (MB)) – общий объем тома.
• «Длина очереди диска» (Disk Queue Length) – средняя длина очереди диска. Длина очереди показывает количество ожидающих выполнения запросов (на чтение и запись) в любой момент времени. Если этот показатель довольно высок, это может свидетельствовать о том, что скорость вращения диска недостаточна для удовлетворения запросов приложений или что дисковая подсистема имеет слишком низкую производительность и не справляется с запросами. Однако чтобы оценить, насколько высок показатель, необходимо хорошо понимать, как создается базовый том в SAN. Каждый диск, из которых складывается базовый том, предоставляет дополнительные ресурсы, которые учитываются при расчете длины очереди (проще говоря, чем больше дисков, тем выше будет длина очереди).

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

Графики

Графики – очень полезный инструмент. В верхнем графике показана скорость обмена данными между диском и операционной системой за последнюю минуту. Зеленая кривая показывает текущий суммарный ввод/вывод, а синяя – активное время диска за этот период. На остальных графиках показана длина очереди для каждого диска в системе.

На сервере Exchange, который показан в моем примере, используется четыре диска (тома SAN). С учетом структуры базовых томов SAN в этом массиве, никаких проблем, связанных с длиной очереди, не возникает.

До встречи во второй части

Во второй статье цикла я расскажу о показателях производительности ЦП в Мониторе ресурсов.

Автор: Scott Lowe
Перевод

SVET

Оцените статью: Голосов

Одной из основных метрик, позволяющих оценить производительность существующей или проектируемой системы хранения данных является 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

    Счетчики производительности это встроенные компоненты, которые позволяют собрать статистику использования ресурсов системы, для дальнейшего анализа, с целью выявления узких мест в системе.

    Потенциально узкими местами могут являться:

    • Процессор
    • Память
    • Жесткие диски
    • Сеть

    Ниже приведу основной перечень счетчиков, которые в первую очередь потребуется проанализировать для первичной диагностики производительности системы, их краткую характеристику и возможные Варианты решения, при превышении допустимых показателей. Рассматривать их будем по отдельным логическим блокам.

    Процессор

    Processor \ %Processor Time — время, которое процессор тратит на выполнение полезной работы, в процентах от общего системного времени. Если среднее значение величины утилизации процессора превышает 70% в течение длительного времени, значит процессор – узкое место в системе.

    System \ Processor Queue Length — длина очереди к процессору. Если долгий период времени средняя длина очереди превышает значение 2 * количество ядер процессоров, то это говорит о том, что процессор является узким местом.

    Варианты решения:

    • Замена процессоров на более быстродействующие;
    • Увеличение количества ядер в случае виртуализации;
    • Перенос приложений, интенсивно использующих процессор на отдельный компьютер. Например, установка сервера 1С:Предприятия и Microsoft SQL Server на разных компьютерах;

    Память

    Memory \ Available Mbytes — отражает объем доступной памяти в мегабайтах. Желательное состояние — 25% от общей памяти, если занято больше 90% оперативной памяти, значит нужно однозначно принимать меры для исправления.

    Memory \ Pages/sec — характеризует интенсивность обмена между дисковой подсистемой и оперативной памятью. Обращение к дисковой системе происходит из-за того, что запрашиваемые страницы отсутствуют в оперативной памяти. Если значение данного счетчика достигает или превышает 20, следует внимательно изучить активность страничного обмена.

    Варианты решения:

    • Увеличение объема оперативной памяти, установленной на компьютере;
    • Перенос приложений, интенсивно использующих оперативную память, на отдельный компьютер. Например, установка сервера 1С:Предприятия и Microsoft SQL Server на разных компьютерах;

    Жесткие диски

    Physical Disk \ Avg. Disk sec/Write/Read — показывает среднее время на запись/чтение в секундах.

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

    Physical Disk \ Avg. Disk Write/Read Queue Length — средняя длина очереди к диску на запись. В идеале значение этих счетчиков должно равняться 0. Не критично если значение будет не более 2 * количество дисков, работающих параллельно.

    Disk bytes/sec — показывает скорость обмена с диском в байт/с при записи или чтении. Данный счетчик может показать, соответствует ли скорость диска заявленным производителем характеристикам.

    Рекомендуют от 40 Мб в секунду и выше.

    Disk Writes/Reads/sec — это частота выполнения операций чтения и записи. Данный счетчик особо важен для анализа при использовании дисковых массивов. Обычно его рекомендуемое значение указано в документации к конкретному оборудованию.

    Варианты решения:

    • Установка более быстрых дисков;
    • Использование дисков с интерфейсом SCSI;
    • Использование аппаратного RAID — контроллера; 
    • Увеличение количества дисков в RAID — массиве;

    Сеть

    Основными счетчиками сетевых интерфейсов, требующих внимания являются:

    Network Interface \ Bytes Total/sec — этот счетчик показывает скорость, с которой происходит получение или посылка байт через сетевой интерфейс. Его оптимальный показатель — не более 65% от пропускной способности сетевого адаптера.

    Output Queue Length — это количество исходящих пакетов в очереди. Всегда должна быть 0, но может достигать 2 на мгновение. Если среднее значение счетчика более двух, это значит что сетевой интерфейс не справляется с передачей данных.

    Варианты решения:

    • Установка сетевого адаптера с более высокой пропускной способностью (если позволяют параметры сети);
    • Установка дополнительного сетевого адаптера;

    Для большей наглядности, приведу предельные значения показателей основных счетчиков в виде таблицы:

    Таблица характеристик

    Разобравшись с тем, какие счетчики нам в первую очередь нужны и за что они отвечают, можем приступить к самой настройке.

    Для настройки счетчиков производительности необходимо запустить системный монитор, например, нажатием комбинации клавиш Win + R и написать perfmon.

    Здесь правой кнопкой на группу Особые создаем новую группу сборщиков данных:

    Как настроить счетчики производительности Windows - рисунок 1

    Далее выбираем, что создавать новую группу будем вручную:

    Как настроить счетчики производительности Windows - рисунок 2

    Тип данных выбираем Счетчики производительности:

    Как настроить счетчики производительности Windows - рисунок 3

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

    Как настроить счетчики производительности Windows - рисунок 4

    Далее необходимо определить каталог для хранения данных. Можно оставить по умолчанию, однако следует учесть, что у пользователя, от именно которого будет запускаться процесс сборки, должно быть право на запись в указанный каталог.

    Как настроить счетчики производительности Windows - рисунок 5

    выбираем пользователя и жмем Готово:

    Как настроить счетчики производительности Windows - рисунок 6

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

    Как настроить счетчики производительности Windows - рисунок 7

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

    Как настроить счетчики производительности Windows - рисунок 8

    Состав счетчиков зависит от версии ОС, от установленных программ, локализации системы и программного обеспечения и др. Следует сказать, что если каких-либо счетчиков не удалось найти, их можно добавить, выполнив команду ниже от имени админимтратора:

    • cd %systemroot%\system32 
    • lodctr /R

    Далее проанализируем некоторые графики счетчиков производительности, чтобы понять как выглядят ситуации, которые свидетельствуют о проблемах с производительностью(на анализируемый период просьба не обращать внимания, так как графики приведены чисто в ознакомительных целях).

    Процессор

    На скриншоте ниже мы видим, что процент загрузки процессора больше 80 на протяжении всего рабочего дня. Однозначно нужно принимать меры:

    Как настроить счетчики производительности Windows - рисунок 9

     Тут мы видим, что очередь к процессору также превышает максимально допустимую:

    Как настроить счетчики производительности Windows - рисунок 10

    Память

    При анализе показателей оперативной памяти, особый интерес представляет минимально доступный объем. Как видим на графике ниже, он у нас равняется 0, что не есть хорошо. Также о проблемах с памятью свидетельствует и среднее значение показателя данного счетчика в 1 ГБ. Это однозначно является узким местом системы:

    Как настроить счетчики производительности Windows - рисунок 11

    Диск

    На графике ниже можно увидеть, что среднее время на запись составляет 65 мс. Даже с учетом того, что при скорости записи до 50 мс «тормоза» не будут так сильно ощущаться, тут однозначно ситуацию необходимо исправить.

    Как настроить счетчики производительности Windows - рисунок 12

    На следующем скриншоте можно заметить, что очередь к диску на чтение выше предельно допустимого и его среднее значение достигает 21:

    Как настроить счетчики производительности Windows - рисунок 13

    Таким образом, выполнив первоначальный анализ основных счетчиков, можно понять, какие компоненты системы являются наиболее уязвимыми, или хотя бы определить подсистему, которая требует более тщательного анализа, и принять соответствующие меры для устранения проблемы.

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

    Для наблюдения за дисками можно выбрать два типа объектов:

    • Physical Disk — в качестве объекта мониторинга выступает то, что система определяет как физическое устройство. Это может быть как отдельный жесткий диск, так и несколько дисков, объединенных в RAID-массив. Если физический диск разбит на логические разделы (тома), то счетчики выдают суммарное значение для всех томов, находящихся на диске.
    • Logical Disk — здесь в качестве объекта мониторинга выступает логический раздел. Perfmon идентифицирует тома по букве диска или точке монтирования (если том примонтирован как папка). Если физический диск разбит на несколько томов, то счетчики будут выдавать значения для каждого выбранного тома отдельно. Возможна и обратная ситуация, когда при использовании динамических дисков том может быть растянут на несколько физических устройств, тогда счетчики покажут значения сразу для всех физических дисков, входящих в состав логического.

    Набор счетчиков для физического и логического диска практически идентичен, за небольшим исключением, о котором чуть позже.

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

    Приступим к описанию счетчиков.

    %Disk Time

    Показывает процент общей загруженности диска. Представляет из себя сумму значений счетчиков %Disk Read Time (процент загруженности диска операциями чтения) и %Disk Write Time (процент загруженности диска операциями записи). Теоретически его значения должны быть в диапазоне от 0 до 100%, однако это верно только для одиночного диска. При использовании RAID-массивов часто можно увидеть значения этого счетчика больше 100%.

    %Idle Time

    Показывает время простоя диска, т.е. время, в течении которого диск оставался в состоянии покоя, не обрабатывая запросы чтения\записи. В отличии от %Disk Time лежит строго в диапазоне от 100% (полный покой) до 0 (полная загрузка).

    Disk Transfers/sec

    Основной показатель интенсивности запросов к диску. Показывает общее количество операций ввода\вывода, обработанных (завершенных) диском в течении 1 секунды (Input/Output Operations Per Second, IOPS). Этот счетчик позволяет примерно оценить, насколько нагрузка на диски близка к предельной. Для дисков, работающих в нормальном режиме, можно ориентироваться на следующие значения: 80-160 IOPS для одиночного жесткого диска SATA или SAS, 1800-5000 IOPS для одиночного SSD диска. Для уточнения можно воспользоваться счетчиками Disk Reads/sec (количество обработанных за секунду запросов на чтение) и Disk Writes/sec (количество обработанных за секунду запросов на запись).

    Avg. Disk sec/Transfer

    Среднее время в секундах, требуемое для выполнения диском одной операции чтения или записи. Складывается из значений Avg. Disk sec/Read (время на выполнение операции чтения) и Avg. Disk sec/Write (время на выполнение операции записи). Для высоконагруженых систем, таких как сервера БД, значение Avg. Disk sec/Transfer не должно превышать 0,1, для рядовых серверов допустимо значение 0,25.

    Эти счетчики стоит отметить особо, так как они позволяют точно определить, сколько времени дисковая подсистема потратила на обслуживание операций ввода\вывода, независимо от используемых аппаратных средств.

    Avg. Disk Queue Length

    Cредняя длина очереди запросов к диску. Отображает количество запросов к диску, ожидающих обработки в течении определенного интервала времени. Нормальным считается очередь не больше 2 для одиночного диска. Если в очереди больше двух запросов, то возможно диск перегружен и не успевает обрабатывать поступающие запросы. Уточнить, с какими именно операциями не справляется диск, можно с помощью счетчиков Avg. Disk Read Queue Length (очередь запросов на чтение) и Avg. Disk Wright Queue Length (очередь запросов на запись).

    Значение Avg. Disk Queue Length не измеряется, а рассчитывается по закону Литтла из математической теории очередей. Согласно этому закону, количество запросов, ожидающих обработки, в среднем равняется частоте поступления запросов, умноженной на время обработки запроса. Т.е. в нашем случае Avg. Disk Queue Length = (Disk Transfers/sec) * (Avg. Disk sec/Transfer).

    Avg. Disk Queue Length приводится как один из основных счетчиков для определения загруженности дисковой подсистемы, однако для его адекватной оценки необходимо точно представлять физическую структуру системы хранения. К примеру, для одиночного жесткого диска критическим считается значение больше 2, а если диск располагается на RAID-массиве из 4-х дисков, то волноваться стоит при значении больше 4*2=8.

    Current Disk Queue Length

    Текущая длина очереди запросов к диску. Показывает количество запросов, ожидающих обработки в данный конкретный момент. По сути это мгновенное значение (срез) текущей очереди запросов.

    Disk Bytes/sec

    Средняя скорость обмена данными с диском, или скорость чтения\записи. Показывает общее количество байт, отправленных на диск (запись) и с диска (чтение) в течении одной секунды, тем самым позволяя оценить пропускную способность дисковой системы. Складывается из значений Disk Read Bytes/sec (скорость чтения) и Disk Write Bytes/sec (скорость записи). Предельные значения сильно зависят от типа диска: к примеру для одиночного жесткого диска максимальная скорость чтения\записи лежит в пределах 160-250Mb/s, для одиночного SSD — около 550-600Mb/s.

    Avg. Disk Bytes/Transfer

    Среднее количество байт, передаваемое при выполнении одной операции чтения\записи. Чем больше размер передаваемых блоков, тем меньше нагрузка на диск.  При нормальной работе этот параметр должен быть больше 20Kb, значения меньше говорят о большом количестве мелких запросов, т.е. о неэффективном использовании дисковой системы. Более точную информацию можно получить из значений счетчиков Avg. Disk Bytes/Read (количество байт, передаваемое при выполнении одной операции чтения) и Avg. Disk Bytes/Write (количество байт, передаваемое при выполнении одной операции записи).

    Split IO/Sec

    Частота разделения операций ввода\вывода на несколько операций. Значение, отличное от нуля показывает, что запрашиваются слишком большие блоки данных, которые не могут быть переданы за одну операцию. Это может быть следствием сильной фрагментации диска.

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

    И только для объектов Logical Disk есть еще два счетчика, позволяющие определить наличие свободного места на диске.

    %Free Space

    Объем свободного дискового пространства на выбранном логическом диске, в процентах.

    Free Megabytes

    Объем свободного пространства на логическом диске, в мегабайтах.

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

    Заключение

    Для того, чтобы адекватно оценить полученные данные, необходимо точно представлять физическую структуру системы хранения. В первую очередь важен тип используемых дисков (HDD, SSD), интерфейс (SATA, SAS, FC, PCIe), скорость вращения HDD (7200, 10k, 15k). При использовании RAID-массивов нужно знать тип массива (0, 1, 5, 10 и т.д.) и количество дисков в массиве.

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

    1. Большое количество случайных операций чтения\записи, данные обрабатываются небольшими блоками. Этот тип нагрузки характерен для серверов баз данных. При таком типе нагрузки наиболее важным параметром является количество IOPS-ов. Основные счетчики — Disk Transfers/sec, Avg. Disk sec/Transfer и конечно Avg. Disk Queue Length.

    2. Последовательное чтение\запись больших блоков данных. Такая нагрузка характерна, к примеру, для серверов потокового видео. В этом случае наиболее важна пропускная способность дисковой системы, которую показывает Disk Bytes/sec.

    В данной статье мы расскажем, почему тормозит Windows и опишем популярные системы мониторинга, которые помогут выявить проблему. Данная информация будет полезна не только администраторам серверов на Windows, но и простым пользователям, которые работают с этой системой на своих ПК. Также материал будет полезен всем, кто использует виртуальный сервер на Windows и хочет добиться большей производительности.

    Производительность сервера зависит от многих факторов. Условно все источники проблем можно разделить на несколько основных групп, а именно — процессор, оперативная память, жесткий диск, сеть и программное обеспечение. Если причина сбоев не очевидна, то в первую очередь нужно проверить состояние перечисленных компонентов. Для начала рассмотрим штатные инструменты для анализа производительности системы на примере Windows Server 2012 R2.

    • 1 Диспетчер задач
    • 2 Монитор ресурсов
      • 2.1 Поиск процесса, блокирующего файл
      • 2.2 Просмотр дисковой активности
      • 2.3 Просмотр сетевой активности
    • 3 Системный монитор
    • 4 Журнал событий
    • 5 Монитор стабильности системы

    Диспетчер задач

    Диспетчер задач позволяет выполнять различные операции с процессами, например назначать приоритет, “привязывать” процессы к определенному процессору, создавать новые процессы, но наиболее частое применение — быстрый просмотр текущей загруженности системы и принудительное завершение “проблемных” приложений.

    Способы запуска Диспетчера задач:

    • щелкнуть правой кнопкой мыши на панели задач и выбрать в меню “Диспетчер задач
    • ввести команду “taskmgr” в окне “Выполнить” или командной строке.
    • нажать комбинацию клавиш “Ctrl+Alt+Del” и выбрать “Диспетчер задач
    • нажать комбинацию клавиш “Ctrl+Shift+Esc

    Диспетчер задач отображает в реальном времени для каждого работающего процесса объем потребляемой оперативной памяти и нагрузку на процессор. Наиболее полная информация представлена на вкладке “Подробности”. Если щелкнуть мышью по заголовку любого столбца, строки будут отсортированы по его значениям. Для принудительного завершения процесса нужно щелкнуть правой кнопкой мыши по соответствующей строке и выбрать “Снять задачу”. Кроме этого в контекстном меню доступны дополнительные действия.

    Как устроен диспетчер задач Windows - мониторинг процессов на сервере

    Если на сервере работает одновременно несколько пользователей, будет полезна вкладка “Пользователи” на которой все процессы сгруппированы по пользователям. Щелчок правой кнопкой мыши по имени пользователя вызывает контекстное меню с доступными действиями. Администратор может отправить сообщение, отключить или полностью завершить сеанс выбранного пользователя.

    Вкладка “Службы” отображает состояние служб, а через контекстное меню можно выполнить остановку, запуск или перезапуск службы. На вкладке “Процессы” выполнена группировка процессов по типу, а на вкладке “Производительность” текущая активность компонентов компьютера представлена в графическом виде.

    Диспетчер задач предоставляет пользователю минимальный объем информации о загруженности системы, с помощью которого можно выполнить первоначальную диагностику.

    Монитор ресурсов

    Монитор ресурсов содержит более детальную информацию. Кроме загрузки процессора и оперативной памяти, для каждого процесса в реальном времени отображаются операции чтения и записи на диск, открытые файлы, связанные службы и библиотеки, сетевая активность.

    Как запустить мониторинг ресурсов? Есть несколько способов:

    • нажать кнопку “Открыть монитор ресурсов”, расположенную на вкладке “Производительность” диспетчера задач;
    • ввести команду “resmon” в командной строке или окне “Выполнить”;
    • выбрать “Монитор ресурсов” в меню “Средства” диспетчера серверов.

    На каждой вкладке монитора ресурсов информация представлена в табличном и графическом виде. Для того, чтобы в таблицах изменить набор столбцов, нужно щелкнуть по заголовку любого столбца правой кнопкой мыши и нажать “Выбрать столбцы”. Если на любой из вкладок пометить нужные процессы флажком, информация в других таблицах будет автоматически отфильтрована по выбранным значениям.

    Сведения об активности процессора, памяти, дисков и сети представлены на отдельных вкладках, а вклада “Обзор” содержит сводную информацию по всем компонентам.

    Как запустить мониторинг ресурсов. Основные свойства инструмента

    Рассмотрим некоторые полезные возможности монитора ресурсов на Windows.

    Поиск процесса, блокирующего файл

    Бывают ситуации, когда при попытке удалить или изменить файл система выводит сообщение, что файл используется другим приложением и не может быть удален. Для поиска блокирующего процесса нужно ввести часть имени файла в разделе “Связанные дескрипторы”, вкладки “ЦП”. При необходимости процесс можно принудительно завершить.

    Просмотр дисковой подсистемы через мониторинг ресурсов - простые способы повысить работоспособность Windows

    Просмотр дисковой активности

    На вкладке “Диск” отображаются операции чтения-записи с диска. На скриншоте показан случай, когда система активно обращается к файлу подкачки “c:/pagefile.sys”, обычно это существенно замедляет работу системы и свидетельствует о нехватки оперативной памяти.

    Также следует обратить внимание на показатель “Длина очереди диска”, считается, что он не должен превышать более чем в два раза количество физических дисков. Если на сервере установлен один физический диск, нормальной считается длина очереди 1-2. Частые всплески этого показателя и высокое время активности диска могут говорить о низкой производительности дисковой подсистемы.

    Мониторинг сети в ОС Windows

    Просмотр сетевой активности

    На вкладке “Сеть” можно выявить процессы создающие нагрузку на сеть. Это могут быть сторонние приложения, как на скриншоте, так и внутренние процессы. Как пример можно привести автоматическое обновление операционной системы.

    В разделе “TCP-подключения” будут полезны показатели “Процент потерянных пакетов” и “Задержка”, по этим параметрам можно оценивать качество сетевого соединения.

    Кроме этого, на вкладке “Сеть” можно видеть прослушиваемые порты и состояние брандмауэра.

    Поиск причины тормозов Windows - используем Системный монитор для сбора статистики

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

    Системный монитор

    Системный монитор позволяет отслеживать счетчики различных системных объектов операционной системы. Например, объект “Физический диск” содержит счетчики “Процент активности диска” и “Средняя длина очереди диска”, а объект “Память” — счетчик “Вывод страниц/с”.

    Способы запуска:

    • выбрать “Системный монитор” в меню “Средства” диспетчера серверов;
    • выполнить команду “perfmon” в командной строке или окне “Выполнить”;
    • выбрать “Системный монитор” в группе “Администрирование” панели управления.

    Системный монитор состоит из трех основных компонентов: “Средства наблюдения”, “Группы сборщиков данных” и “Отчеты”. В разделе “Средства наблюдения” находится системный монитор, с помощью которого можно наблюдать показания счетчиков в реальном времени или просматривать ранее сохраненные отчеты. Раздел “Группы сборщиков данных” содержит набор счетчиков за которыми будет вестись наблюдение. Для диагностики можно воспользоваться двумя готовыми системными группами или создать собственные. В разделе “Отчеты” сохраняются результаты мониторинга.

    Рассмотрим диагностику используя готовую группу сборщиков данных “System Performance (Производительность системы)

    1. Переходим в раздел “Группы сборщиков данных” — “Системные” и запускаем группу “System Performance (Производительность системы)

    Отчет Системного монитора о производительности Windows

    2. Ожидаем завершения сбора данных, продолжительность по умолчанию 1 минута, и открываем отчет в разделе “Отчеты” — “System Performance

    Просмотр отчета в Системном мониторе

    В верхней части отчета отображается сводная информация по основным компонентам системы и рекомендации в случае обнаружения проблем. На тестовом сервере результаты диагностики показали нехватку оперативной памяти.

    Для того, чтобы увидеть как изменялись значения счетчиков во время сбора данных нужно нажать на панели инструментов кнопку “Просмотреть данные в системном мониторе”. После этого щелкаем в нижней части окна на интересующий нас счетчик, например “% загруженности процессора” и нажимаем кнопку “Выделить” на панели инструментов, после чего соответствующий график станет выделен черной жирной линией. Под графиками отображаются среднее, максимальное и минимальное значения выбранного счетчика.

    Создание собственной группы сборщиков данных о производительности Windows

    Отчеты хранятся в обычных файлах в папке “c:\Perflog”, поэтому их легко можно перенести на другой компьютер.

    Встроенные группы сборщиков данных недоступны для редактирования, но для групп созданных вручную можно задавать различные параметры, например общую длительность сбора данных или время запуска по расписанию. Для создания группы нужно щелкнуть правой кнопкой мыши по папке “Особые” в разделе “Группы сборщиков данных”, выбрать “Создать” — “Группа сборщиков данных” и следовать указаниям мастера. Если на созданной группе щелкнуть правой кнопкой мыши и выбрать “Свойства”, откроется окно в котором можно изменить параметры по умолчанию.

    Поиск причины зависания Windows с помощью журнала событий

    Журнал событий

    В журнале событий регистрируются все значимые изменения в работе операционной системы. Это может быть запуск или остановка службы, установка обновления, перезагрузка, ошибка чтения с диска или сбой в работе приложения. События делятся на информационные, критические, события ошибок и события предупреждений. Если операционная система Windows тормозит, зависает или работает со сбоями, а также какое-либо приложение работает нестабильно, то с большой долей вероятности в журнале событий будут соответствующие записи. Именно эти записи помогут понять причину тормозов и сбоев.

    Способы запуска Журнала событий:

    • выбрать “Просмотр событий” в меню “Средства” диспетчера серверов.
    • выбрать “Просмотр событий” в группе “Администрирование” панели управления.
    • выполнить команду “eventvwr” в командной строке или окне “Выполнить

    Журналы находятся в разделах “Журналы Windows” и “Журналы приложений и служб”. Скорее всего информация о сбоях будет находиться в журнале “Система” раздела “Журналы Windows”. Но если заранее неизвестно, что именно нужно искать, то можно воспользоваться готовым представлением “События управления”, в котором отображается информация из всех основных журналов. Готовое представление недоступно для редактирования, поэтому если возникнет необходимость изменить выводимые журналы или категории событий можно создать собственное представление или скопировать существующее.

    Щелкнем правой кнопкой мыши на представлении “События управления” и выберем “Копировать настраиваемое представление”, в открывшемся окне нажимаем “Ок”. В результате появится новое представление “События Управления (1)”. Для редактирования нужно выделить созданное представление и нажать в правой части окна кнопку “Фильтр текущего настраиваемого представления”.

    Для диагностики неисправности можно настроить вывод только ошибок и критических событий.

    Как запустить Мониторинг стабильности системы для поиска неисправностей в Windows

    Монитор стабильности системы

    Монитор стабильности системы можно рассматривать, как дополнение к журналу событий. Для запуска нужно открыть “Панель управления”, перейти в раздел “Центр поддержки” и нажать “Показать журнал стабильности работы” в группе “Обслуживание”.

    Просмотр событий в мониторе стабильности системы

    События в окне монитора сгруппированы по датам. Если выделить определенную дату, в нижней части экрана отобразится список связанных событий. В зависимости от степени критичности, в верхней части экрана строится линия стабильности, по которой можно оценивать динамику сбоев.

    Описанные инструменты мониторинга взаимно дополняют друг друга, поэтому их комплексное использование позволяет получить наиболее полную информацию о работе системы. 

    Инструменты, перечисленные в данной статье, могут помочь выявить большинство причин зависания и тормозов Windows. Зачастую поиск и устранение неисправностей помогает восстановить скорость работы системы без переустановки Windows. 

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

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии
  • Windows media player для чего
  • Отпечаток пальца windows 10 домен
  • Как открыть панель восстановления windows 10
  • Windows vista виртуальная машина
  • Каким общим именем называется множество windows android linux