В этой статье мы рассмотрим особенности использования встроенных счетчиков производительности Performance Monitor для мониторинга состояния Windows Server. Счетчики PerfMon можно использовать для отслеживания изменений определенных параметров производительности сервера (алертов) и оповещать администратора в случае возникновения высокой загрузки или других нештатных состояниях.
Чаще всего для мониторинга работоспособности, доступности, загруженности серверов используются сторонние продукты. Если вам нужно получать информацию о производительности приложений либо железа только с одного-двух Windows-серверов, либо когда это нужно на непостоянной основе, либо возник более сложный случай, требующий глубокого траблшутинга производительности, то можно воспользоваться встроенным функционалом Windows Performance Monitor.
Performance Monitor имеет огромное количество счётчиков для получения информации о железе, операционной системе, установленном ПО в виде конкретных цифр. Performance Monitor может вести наблюдение за показателями производительности сервера в реальном времени или записывать историю.
Основные возможности Performance Monitor, которые можно использовать отдельно или совместно с другими сторонними системами мониторинга (типа Zabbix, Nagios, Cacti и другие):
- cистема мониторинга при выводе информации о производительности сначала обращается к Performance Monitor;
- главной задачей системы мониторинга является оповещение о наступлении тревожного момента, аварии, а у Performance Monitor – собрать и предоставить диагностические данные.
Текущие значения производительности Windows можно получить из Task Manager, но Performance Monitor умеет несколько больше:
- Task Manager работает только в реальном времени и только на конкретном (локальном) хосте;
- в Performance Monitor можно подключать счётчики с разных серверов, вести наблюдение длительное время и собранную информацию сохранять в файл;
- в Task Manager очень мало показателей производительности.
Мониторинг производительности процессора с Perfomance Monitor
Для снятия данных о производительности процессора воспользуемся несколькими основными счётчиками:
- Processor% Processor Time — определяет уровень загрузки ЦП, и отслеживает время, которое ЦП затрачивает на работу процесса. Уровень загрузки ЦП в диапазоне в пределах 80-90 % может указывать на необходимость добавления процессорной мощности.
- Processor%Privileged Time — соответствует проценту процессорного времени, затраченного на выполнение команд ядра операционной системы Windows, таких как обработка запросов ввода-вывода SQL Server. Если значение этого счетчика постоянно высокое, и счетчики для объекта Физический диск также имеют высокие значения, то необходимо рассмотреть вопрос об установке более быстрой и более эффективной дисковой подсистемы (см. более подробную статью об анализе производительности дисков с помощью PerfMon).
- Processor%User Time — соответствует проценту времени работы CPU, которое он затрачивает на выполнение пользовательских приложений.
Запустите Performance Monitor с помощью команды perfmon. В разделе Performance Monitor отображается загрузкой CPU в реальном времени с помощью графика (параметр Line), с помощью цифр (параметр Report), с помощью столбчатой гистограммы (параметр Histogram bar) (вид выбирается в панели инструментов). Чтобы добавить счетчики, нажмите кнопку “+” (Add Counters).
Слева направо двигается линия в реальном времени и отображает график загрузки процессора, на котором можно увидеть, как всплески, так и постоянную нагрузку.
Например, вам нужно посмотреть загрузку процессора виртуальными машинами и самим Hyper-V. Выберите группу счетчиков Hyper-V Hypervisor Logical Processor, выберите счетчик % Total Run Time. Вы можете показывать нагрузку по всем ядрам CPU (Total), либо по конкретным (HV LP №), либо всё сразу (All Instances). Выберем Total и All Instances.
Группы сборщиков данных в PerfMon
Чтобы не сидеть целый за наблюдением движения линии, создаются группы сбор данных (Data Collector Set), задаются для них параметры и периодически просматриваются.
Чтобы создать группу сбора данных, нужно нажать на разделе User Defined правой кнопкой мыши, в меню выбрать New -> Data Collector Set. Выберите Create manually (Advanced) -> Create Data Logs и включите опцию Performance Counter. Нажмите Add и добавите счётчики. В нашем примере % Total Run Time из группы Hyper-V Hypervisor Logical Processor и Available MBytes из Memory. Установите интервал опроса счётчиков в 3 секунды.
Далее вручную запустите созданный Data Collector Set, нажав на нём правой кнопкой мыши и выбрав в меню пункт Start.
Через некоторое время можно просмотреть отчёт. Для этого в контекстном меню группы сбора данных нужно выбрать пункт Latest Report. Вы можете посмотреть и проанализировать отчёт производительности в виде графика. Отчёт можно скопировать и переслать. Он хранится в C:PerfLogsAdminCPU_Mon и имеет расширение .blg.
Если нужно на другом сервере запустить такой же набор счётчиков, как на первом, то их можно переносить экспортом. Для этого в контекстном меню группы сбора данных выберите пункт Save Template, укажите имя файла (расширение .xml). Скопируйте xml файл на другой сервер, создайте новую группу сбора данных, выберите пункт Create from a template и укажите готовый шаблон.
Создание Alert для мониторинга загрузки CPU
В определённый критический момент в Performance Monitor могут срабатывать алерты, которые помогают ИТ-специалисту прояснить суть проблемы. В первом случае алерт может отправить оповещение, а во втором – запустить другую группу сбора данных.
Чтобы создать алерт в PerfMon, нужно создать ещё один Data Collector Set. Укажите его имя CPU_Alert, выберите опцию Create manually (Advanced), а затем — Performance Counter Alert. Добавьте счётчик % Total Run Time из Hyper-V Hypervisor Logical Processor, укажите границу загрузки 50 %, при превышении которой будет срабатывать алерт, установите интервал опроса счётчика в 3 секунды.
Далее нужно зайти в свойства данной группы сбора информации, перейти на вкладку Alert Action, включить опцию Log an entry in the application event log и запустить группу сбора данных. Когда сработает алерт, в журнале (в консоли Event Viewer в разделе Applications and Services LogsMicrosoftWindowsDiagnosis-PLAOperational) появится запись:
“Performance counter Processor(_Total)% Processor Time has tripped its alert threshold. The counter value of 100.000000 is over the limit value of 50.000000. 50.000000 is the alert threshold value”.
Здесь же рассмотрим и второй случай, когда нужно запустить другую группу сбора данных. Например, алерт срабатывает при достижении высокой загрузки CPU, делает запись в лог, но вы хотите включить сбор данных с других счётчиков для получения дополнительной информации. Для этого необходимо в свойствах алерта в меню Alert Action в выпадающем списке Start a data collector set выбрать ранее созданную группу сбора, например, CPU_Mon. Рядом находится вкладка Alert Task, в которой можно указать разные аргументы либо подключить готовую задачу из консоли Task Scheduler, указав её имя в поле Run this task when an alert is triggered. Будем использовать второй вариант.
С помощью Task Scheduler можно выполнить какие-то действия: выполнить команду, отправить письмо или вывести сообщение на экран (сейчас последниед ве функции не поддерживаются, считаются устаревшими (deprecated)). Для вывода на уведомления на экран можно использовать скриптом PowerShell. Для этого в консоли Task Scheduler создайте новую задачу, на вкладке Triggers выберите One time, на вкладке Actions в выпадающем поле Action выбирите параметр Start a program, в поле Program/Script укажите powershell.exe, а в поле Add arguments (optional) следующий код:
-WindowStyle hidden -Command "& {[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Внимание, CPU загружен', 'Посмотреть')}"
Для отправки письма вы можете воспользоваться командлетом PowerShell Send-MailMessage или стороннюю утилиту mailsend.exe.. Для этого создайте аналогичное задание в Task Scheduler, в поле Program/Script укажите полный путь к утилите (у нас C:ScriptsMailmailsend.exe), а в поле Add arguments (optional) через параметры нужно передать значения: электронный адрес, адрес и номер порта SMTP-сервера, текст письма и заголовка, пароль:
-to [email protected] -from [email protected] -ssl -port 465 -auth -smtp smtp.ddd.com -sub Alarm -v -user [email protected] +cc +bc -M "Alarm, CPU, Alarm" -pass "it12345"
где +cc означает не запрашивать копию письма, +bc — не запрашивать скрытую копию письма.
Данный материал является переводом оригинальной статьи «MSSQLTips : Joe Gavin : Introduction to Windows Performance Monitor for SQL Server».
В данной вводной статье, мы узнаем о том, как можно использовать Windows Performance Monitor для изучения проблем с производительностью Microsoft SQL Server. Узнаем, что такое Performance Monitor и рассмотрим несколько примеров добавления счетчиков, сохранения повторно используемых шаблонов и составления отчетов по данным о производительности.
Что такое Windows Performance Monitor?
Windows Performance Monitor (далее «монитор производительности»), обычно называемый просто Perfmon, представляет собой программу Windows, используемую системными администраторами для мониторинга ряда системных областей, а также очень полезный инструмент для администраторов баз данных. Он существует со времен Microsoft Windows 3.51. Perfmon может отображать информацию в режиме реального времени или из файлов журнала для последующего просмотра.
Как монитор производительности может мне помочь?
Perfmon может отслеживать стандартные счетчики производительности (ЦП, процессорное время, память, сеть, физический диск, чтение с диска и т.д.), которые устанавливаются вместе с операционной системой Windows, а также специальные счетчики, устанавливаемые с SQL Server.
Запуск монитора производительности
Примечание. Все ниже описанные примеры выполнялись на Windows Server 2019 Standard с SQL Server 2019 Standard.
Существует несколько способов запуска монитора производительности, в том числе:
- Start > Введите «Performance Monitor» в строке поиска
- Start > «Windows Administrative Tools» > «Performance Monitor«
- Щелкните ПКМ Start > «Run» > наберите «perfmon» в строке запуска
- Клавиша «Windows» + «R» > наберите «perfmon«в строке запуска
Какой бы способ вы ни выбрали, вам будет представлен монитор производительности. Щелкните «Performance Monitor» в дереве навигации слева.
Добавление счетчиков Perfmon
Счетчик «% Processor Time» запущен по умолчанию. Нажмите на зеленый плюс на верхней панели кнопок, чтобы начать добавлять счетчики.
В списке вы увидите большое количество объектов или категорий Perfmon. И под каждым Объектом находится почти невероятное количество Счетчиков. Ничего страшного, мы просто сосредоточимся на некоторых из них.
- Прокрутите вверх, чтобы щелкнуть раскрывающийся список объекта, который вас интересует;
- Выберите Счетчик;
- При необходимости установите флажок «Show description«, чтобы получить описание Счетчика;
- Нажмите «Add«;
- Нажмите «OK«
Нажав на Счетчик, мы увидим график добавленного Счетчика и его показателей.
Мы вернулись и добавили некоторые стандартные счетчики мониторинга SQL Server таким же образом, как мы добавили Memory Available MBytes, и теперь у нас есть следующие запущенные объекты счетчики:
Perfmon Объект |
Perfmon Счетчик |
Memory |
Available MBytes |
Processor |
% Processor Time |
SQLServer:Access Methods |
Forwarded Records/sec |
SQLServer:Access Methods |
Full scans/sec |
SQLServer:Access Methods |
Page Splits / Sec |
SQLServer:Buffer Manager |
Buffer Cache hit ratio |
SQLServer:Buffer Manager |
Checkpoint Pages / Sec |
SQLServer:Buffer Manager |
Page life expectancy |
SQLServer:General Statistics |
User Connections |
SQLServer:Locks |
Average Wait Time (ms) |
SQLServer:Locks |
Lock Waits / Sec |
SQLServer:Memory Manager |
Memory Grants Pending |
SQLServer:Memory Manager |
Target Server Memory (KB) |
SQLServer:Memory Manager |
Total Server Memory (KB) |
SQLServer:SQL Statistics |
Batch Requests/Sec |
SQLServer:SQL Statistics |
SQL Compilations/Sec |
SQLServer:SQL Statistics |
SQL Re-Compilations/Sec |
Создание Data Collector Set
Добавление счетчиков немного утомительно, и очень легко случайно закрыть Perfmon и потерять то, что вы добавили. Итак, на данном этапе хорошей идеей будет сохранить счетчики, которые вы используете, в Collector Set. Это позволит вам легко вернуть их обратно после закрытия Perfmon.
- Щелкните ПКМ «Performance Monitor«;
- Выберите «New«;
- Выберите «Data Collector Set«.
- Задайте имя для Collector Set;
- Нажмите «Next«.
- Оставьте корневой каталог по умолчанию или нажмите «Browse…» для сохранения в другое расположение;
- Нажмите «Next«.
- Выберите другую учетную запись или оставьте по умолчанию;
- Нажмите «Finish«.
И вот вы под «Data Collector Sets» > «User Defined«.
Сохранение Data Collector Set в шаблоне
Теперь, когда мы сохранили Collector Set, давайте экспортируем его в шаблон. Шаблон представляет собой редактируемый XML-файл, который можно использовать на другом компьютере с Windows и который удобно иметь в своем наборе инструментов.
- Щелкните ПКМ на Collector Set;
- Выберите «Save Template…»
- Выберите каталог для сохранения шаблона;
- Укажите имя шаблона;
- Сохраните.
Открытие сохраненного шаблона Data Collector Set
Чтобы продемонстрировать открытие сохраненного шаблона в Collector Set на другом компьютере, мы удалили существующий Collector Set. Теперь мы импортируем шаблон.
- Щелкните «User Defined«;
- Выберите «New«;
- Выберите «Data Collector Set«.
- Задайте имя;
- Нажмите «Next«.
Используйте «Browse» для выбора файла.
- Перейдите к сохраненному шаблону и нажмите «Next«;
- Нажмите «Open«.
В окне создания нового Data Collector Set нажмите «Next«.
- Измените местоположение файла данных или оставьте по умолчанию;
- Нажмите «Next«.
- Измените «Run as» (необязательно);
- Выберите «Open properties for this data collector set«;
- Нажмите «Finish«.
- В окне свойств Data Collector Set перейдите на вкладку «Directory«;
- Измените каталог журналов (необязательно);
- Введите имя подкаталога;
- Введите формат даты и времени в поле «Subdirectory name format«.
(Мы выбрали MMddyyHHmmss, поэтому мы могли запускать и останавливать его по желанию, чтобы быть уверенными в новом имени файла отчета каждый раз, когда он запускался. В противном случае Коллектор не запустится с ошибкой «When attempting to Start the Data Collector Set the following system error occurred: Cannot create a file when that file already existed«.
(Нажмите стрелку вправо для всех поддерживаемых форматов.) - Нажмите «Apply«.
Мы можем добавить расписание для запуска Collector Set.
- Щелкните вкладку «Schedule«;
- Нажмите «Add«.
Это расписание будет выполняться каждый день с 14:00 до 15:00 часов
- Измените «Beginning date» (необязательно);
- Выберите «Start time«;
- Выберите дни недели для запуска и нажмите «OK«
- Вкладка «Stop Condition«;
- Отметьте «Overall duration«;
- Введите продолжительность;
- Выберите единицу времени;
- Нажмите «OK«
Существует известная проблема с Windows Server 2019 и некоторыми версиями Windows 10, из-за которой задача планировщика заданий Windows, созданная при планировании Collector Set, не запускается. Вот обходной путь для этого: «Microsoft Docs : User-defined data collector set doesn’t run as scheduled — Windows Server».
Запуск и остановка Data Collector Set
Начнем собирать данные о производительности.
- Щелкните ПКМ на «Collector Set«;
- Выберите «Start«.
Остановите Collector Set, когда будете готовы смотреть данные
- Щелкните ПКМ на «Collector Set«;
- Выберите «Stop«.
Отображение данных счетчиков
- Щелкните ПКМ на «Collector Set«;
- Выберите «Latest Report«.
Здесь мы можем увидеть наши счетчики на экране и выбрать отдельные счетчики для более подробной информации.
На этом пока всё. В следующей статье мы рассмотрим счетчики монитора производительности Windows, важные для работы SQL Server.
При работе с любой системой необходимо понимать качество ее работы. Для этого необходимо собирать, контролировать и анализировать определенные показатели этой системы. В данной статье мы рассмотрим «экспресс» настройку инструмента «Системный монитор» (performance monitor, perfmon), входящий в поставку операционной системы Windows, а так же рассмотрим какие показатели нас интересуют в первую очередь при мониторинге системы на базе Windows и MS SQL Server.
Создание группы сборщиков данных
Во-первых, нам необходимо открыть «Системный монитор». Для этого можно воспользоваться командной Win+R, в строке ввести команду perfmon.exe и нажать ОК. Альтернативой способ: перейти в «Панель управления» (Control panel) → «Администрирование» (Administrative tools) → «Системный монитор» (Performance monitor). После этого необходимо в дереве (в окне системного монитора) перейти в «Группы сборщиков данных» (Data Collector Sets), далее «Особый» (User Defined), сделать клик правой клавишей мыши, в контекстном меню выбрать «Создать» (New) → Группа сборщиков данных (Data Collector Set)».
В открывшемся окне зададим пользовательское имя для группы и выберем «Создать вручную (для опытных)» (Create manually (advanced)) и кнопку «Далее» (Next).
На следующем шаге укажем «Создать журналы данных» (Create data logs) и выберем «Счетчик производительности» (Performance counter).
Далее установим интервал выборки (sample interval) в значение 5 секунд и нажмем «Добавить» (Add).
В новом окне в списке «Имеющиеся счетчики» (Available counters) найдем интересующий нас счетчик, например, «% загруженности процессора» (% processor time), из списка «Экземпляры выбранного объекта» (Instances of selected object) выберем интересующий нас, например, «_Total» и нажмем «Добавить» (Add), после чего счетчик появится в правом окне «Добавленные счетчики» (Added counters). Если Вы плохо знакомы с назначением счетчиков, тогда стоит установить флажок «Отображать описание» (Show description), при включении которого будет выведено окошко с описанием счетчика. Нажмем «ОК» и вернемся к предыдущему окну, в котором нажмем «Далее» (Next). Список наиболее интересных счетчиков, их назначение и рекомендуемые интервалы значений будут приведены ниже в этой статье.
На следующем этапе необходимо указать системе в каком каталоге будут сохраняться данные группы сборщиков и нажать «Далее» (Next)
И, наконец, на последней странице мастера создания группы сборщиков данных необходимо выбрать одно из завершающих действий: «Открыть свойства группы сборщиков данных» (Open properties for this data collector set) — для более тонкой настройки группы, которую можно выполнить и в любой момент позднее; «Запустить группу сборщиков данных сейчас» (Start this data collector set now) — для того чтобы сохранить и начать замер немедленно; «Сохранить и закрыть» (Save and close) — только для того чтобы сохранить.
На этом «экспресс» создание группы сборщиков данных завершено, теперь давайте же вернемся к вопросу о том какие счетчики нас интересуют.
Счетчики производительности
В таблицах ниже приведены наиболее интересные счетчики производительности для ОС Windows и MS SQL Server. Там же можно найти описания счетчиков и рекомендуемые значения показателей.
Счетчики производительности системы на операционной системе Windows
Показатель | Группа | Описание | Значение |
---|---|---|---|
Free Megabytes | Logical Disk | Показывает объем незанятого пространства на диске в мегабайтах | Много больше 0 Мбайт для системного диска, дисков файлов БД и служебных файлов 1С |
Available MBytes | Memory | Объем физической памяти в мегабайтах, немедленно доступной для выделения процессу или для использования системой. Эта величина равна сумме памяти, выделенной для кэша, свободной памяти и обнуленных страниц памяти | Много больше 0 Мбайт |
Page Reads/sec | Memory | Число операций чтения диска при получении страниц виртуальной памяти для разрешения ошибок страницы. При выполнении одной операции чтения могут быть получены одновременно несколько страниц. Ошибка чтения страницы возникает при обращении процесса к виртуальной памяти, не принадлежащей рабочему множеству или физической памяти, и должна быть извлечена с диска | |
Page Writes/sec | Memory | Счетчик записи страниц на диск, выполняемой для освобождения места в оперативной памяти. Страницы записываются на диск только в том случае, если они были изменены в оперативной памяти, поэтому они вероятнее всего содержат данные, а не программный код. Этот счетчик отображает число операций записи, без учета числа страниц, записываемых при каждой операции. Этот счетчик показывает разницу значений между двумя последними снятыми показаниями, деленную на длительность интервала измерения. | |
Bytes Total/sec | Network Interface | Скорость, с которой происходит получение или посылка байт через сетевые адаптеры, включая символы обрамления (framing characters) | Не более 65% от пропускной способности сетевого интерфейса |
Avg. Disk Queue Length | Physical Disk | Среднее общее количество запросов на чтение и на запись, которые были поставлены в очередь для соответствующего диска в течение интервала измерения | Не более 2 на каждый из параллельно работающих дисков |
Avg. Disk sec/Transfer | Physical Disk | Время в секундах, затрачиваемое в среднем на один обмен данными с диском | В среднем 10 мс; В пиках не более 300 мс |
% Processor Time | Processor(_Total) | Доля времени, которую процессор тратит на обработку всех потоков команд, кроме простаивающего. Этот счетчик является основным показателем загруженности процессора. Он показывает среднее значение занятости процессора в течение интервала измерения | Не более 70% в течении длительного времени |
Processor Queue Length | System | Текущая длина очереди процессора, измеряемая числом ожидающих потоков. Все процессоры используют одну общую очередь, в которой потоки ожидают получения циклов процессора. Этот счетчик не включает потоки, которые выполняются в настоящий момент. Этот счетчик отражает текущее значение, и не является средним значением по некоторому интервалу времени | Не более 2 на каждое ядро процессора |
Соответствие наименований счетчиков по-английски и по-русски (Windows 7)
По-английски | По-русски |
---|---|
Logical DiskFree Megabytes | Логический дискСвободно мегабайт |
MemoryAvailable MBytes | ПамятьДоступно МБ |
MemoryPage Reads/sec | ПамятьЧтений страниц/с |
MemoryPage Writes/sec | ПамятьОпераций вывода страниц/с |
Network InterfaceBytes Total/sec | Сетевой интерфейсВсего байт/с |
Physical DiskAvg. Disk Queue Length | Физический дискСредняя длина очереди диска |
Physical DiskAvg. Disk sec/Transfer | Физический дискСреднее время обращения к диску (с) |
Processor% Processor Time | Процессор% загруженности процессора |
SystemProcessor Queue Length | СистемаДлина очереди процессора |
Счетчики производительности для MS SQL Server
Показатель | Группа | Описание | Значение |
---|---|---|---|
Table Lock Escalations/sec | Access Methods | Количество раз, когда блокировки таблицы были укрупнены | Стремящееся к 0 |
Page life expectancy | Buffer Manager | Количество секунд, в течение которых страница остается в буферном пуле без ссылок на нее | Не менее 300 с |
Buffer cache hit ratio | Buffer Manager | Процент найденных в буферном пуле страниц, что исключило необходимость чтения с диска | Стремящееся к 100% |
Average Latch Wait Time (ms) | Latches | Среднее время ожидания (мс) для запросов кратковременной блокировки | Стремящееся к 0 мс |
Average Wait Time (ms) | Locks | Среднее время ожидания (в миллисекундах) для всех ждавших запросов блокировки | Стремящееся к 0 мс |
Lock Waits/sec | Locks | Количество запросов блокировки, которые не были выполнены немедленно и ожидали предоставления блокировки | Стремящееся к 0 |
Lock Timeouts/sec | Locks | Количество запросов блокировки, время ожидания которых истекло, включая запросы блокировок NOWAIT. | Стремящееся к 0 |
Number of Deadlocks/sec | Locks | Количество запросов блокировки, приведших к взаимоблокировкам | Стремящееся к 0 |
Cache Hit Ratio | Plan Cache | Соотношение между попаданиями в кэш и обращениями к кэшу | Стремящееся к 100% |
Longest Transaction Running Time | Transactions | Наиболее продолжительное время выполнения какой-либо транзакции в секундах | Для OLTP систем не должно быть высоким |
Transactions | Transactions | Общее количество активных транзакций. | — |
Счетчики производительности. Часть 1
Производительность компьютера определяется скоростью, с которой компьютер выполняет поставленные задачи. На общую производительность системы влияет много факторов — вычислительная мощность процессора, количество доступной оперативной памяти, скорость дисковой подсистемы, пропускная способность сетевых интерфейсов и т.д.
Иногда при недостаточной производительности может потребоваться проанализировать ситуацию и отследить использование ресурсов приложениями или системными процессами, чтобы затем увеличить мощность системы в соответствии с возрастающими запросами.
Одним из самых мощных инструментов для обнаружения проблем с производительностью в Windows являются встроенные счетчики производительности (Performance Counters). О них и пойдет речь в этой статье.
Performance Monitor
Основным инструментом для управления счетчиками производительности в Windows является оснастка Монитор производительности (Performance Monitor), в более ранних версиях Windows известная как Системный монитор. Performance Monitor имеет несколько режимов отображения и позволяет выводить показания счетчиков производительности в режиме реального времени, а также сохранять данные в лог-файлы для последующего изучения.
Найти Performance Monitor можно в меню Пуск (стартовый экран в Server 2012) в разделе Administrative tools, либо нажав Win+R и в окне «Run» выполнить команду perfmon.msc. Стоит иметь в виду, что не все пользователи имеют права на использование этой оснастки. Кроме членов группы Administrators, которые имеют полные права и могут пользоваться всеми ее возможностями, есть еще две группы:
• Пользователи системного монитора (Performance Monitor Users) — могут просматривать (локально или удаленно) данные монитора производительности и изменять свойства отображения в реальном времени. Не имеют прав на создание и изменение групп сборщиков данных (Data Collector Set);
• Пользователи журналов производительности (Performance Log Users) — имеют все права предыдущей группы, а также могут создавать и изменять группы сборщиков данных.
Ну а обычные пользователи, входящие в группу Users, могут только открывать лог-файлы для просмотра в мониторе производительности.
Важно. В соответствием с требованием инструментария управления Windows (WMI) группе Performance Log Users необходимо предоставить право входа в систему в качестве пакетного задания. Для этого надо открыть оснастку локальной политики безопасности (secpol.msc), в разделе «Local policiesUser Rights Assignment» найти параметр Log on as batch job и добавить в список группу Performance Log Users.
Добавление счетчиков
Итак, первое что мы делаем, открыв Performance Monitor, это добавляем в окно мониторинга необходимые нам счетчики. По умолчанию в окне уже отображается один счетчик, показывающий общую загрузку процессора. Удалить ненужный счетчик можно, выделив его и нажав на красный крестик на панели инструментов, либо клавишей Delete. Для добавления счетчиков жмем зеленую кнопку либо Ctrl+N.
Открывается окно добавления счетчиков. В поле «Select counters from computer» задаем имя или IP-адрес компьютера, за которым будет вестись наблюдение. Кстати, Performance Monitor может отображать в одном окне счетчики с разных компьютеров.
Затем выбираем счетчики производительности из списка. Все счетчики объединены в группы, как правило содержащие в своем названии имя объекта производительности. Например, для мониторинга сетевой активности открываем группу Network Interface и выбираем счетчики, показывающие объем получаемого и передаваемого сетевого трафика, общий объем трафика и текущую пропускную способность.
Если вы сомневаетесь в назначении какого либо счетчика, то есть возможность посмотреть его описание. Для этого надо отметить чекбокс «Show description» в левом нижнем углу. Описание не очень подробное, но достаточно информативное.
Примечание. Количество счетчиков производительности довольно велико и зависит от версии операционной системы и установленых серверных ролей и компонентов. Так, например, в Windows Server 2012 добавлено большое количество счетчиков, предназначеных для мониторинга виртуальных машин. Кроме того, некоторые серверные продукты, такие как Exchange или SQL Server добавляют в систему собственные счетчики.
Выбрав объект мониторинга и выделив нужные счетчики, в поле «Instances of selected оbject» выбираем экземпляр (Instance) объекта. Так выбрав в качестве объекта сетевые интерфейсы, здесь мы указываем, за каким именно необходимо наблюдать. Можно выбрать один или несколько экземпляров, выбрав All Instance мы выведем данные для каждого экземпляра отдельно , а значение _Total выведет усредненное значение по всем экземплярам объекта.
Далее кнопкой «Add»добавляем выбранные счетчики в окно справа и сохраняем изменения кнопкой OK.
Вот так выглядит окно монитора производительности после добавления счетчиков. По умолчанию значения счетчиков производительности выводятся в виде линейного графика. Выбрав конкретный счетчик, можно посмотреть в панели текущее (last), минимальное (minimum), максимальное (maximum) и среднее (average) значения за указанный период времени.
Если одновременно используется большое число счетчиков, то следить за каждым из них может быть затруднительно. Поэтому при необходимости лишние счетчики лучше скрыть, для чего достаточно снять флажок в столбце Show.
Нажав соответствующую кнопку на панели инструментов, можно выбрать режим отображения в виде гистограммы (Histogram bar) или в виде отчета (Report). Также между режимами можно переключаться сочетанием клавиш Ctrl+G.
Так например, если необходимо постоянно отслеживать текущие значения счетчиков, то режим отчета более нагляден.
Как вариант, можно выделить конкретный счетчик, так чтобы он отражался более жирной линией. Для этого выбираем нужный счетчик и жмем на кнопку Highlight, расположенную в панели инструментов. Также для выделения можно воспользоваться сочетанием клавиш Ctrl+H.
Настройка Performance Monitor
Performance Monitor имеет множество настроек, предназначенных для наилучшего отображения данных. Открыть диалоговое окно настроек монитора производительности можно, кликнув на нем правой клавишей мышки и выбрав пункт Properties, либо нажав на неприметную кнопку в панели инструментов, либо нажав Ctrl+Q.
На вкладке General можно:
• Display Elements — удалитьдобавить элементы, отображаемые в окне Performance Monitor;
• Report and Histogramm Data — изменить значения, отображаемые в режиме отчета и гистограммы. По умолчанию в них отображаются текущие значения счетчиков. Можно указать минимальное, максимальное или среднее значение, при этом отображаемые данные будут каждый раз пересчитываться;
• Sample Automaticaly — автоматический съем данных. По дефолту выборка данных производится автоматически, с заданным интервалом. Убрав галку, мы тем самым включим ручной режим, в котором снятие данных осуществляется кнопкой Update Data на панели инструментов, или сочетанием клавиш Ctrl+U. Также переключаться с ручного режима на автоматический и обратно можно клавишами Ctrl+F;
• Graph elements — элементы диаграммы. В поле Sample Every задается интервал обновления данных в автоматическом режиме, а в поле Duration — временной отрезок, отображаемый в окне Performance Monitor. По умолчанию данные обновляются каждую секунду, а отображаемый интервал составляет 100 секунд. Для более-менее длительного наблюдения эти значения желательно увеличить.
На вкладке Source (Источник) мы указываем, откуда брать данные:
• Current activity — текущая активность, выводится в окне Performance Monitor по умолчанию;
• Log files — здесь можно указать путь к сохраненному ранее файлу журнала;
• Database — использовать в качестве источника базу данных SQL. Performance Monitor позволяет записывать и извлекать данные о производительности в базу данных, конечно при наличии SQL сервера.
На вкладке Data можно отредактировать список счетчиков, а также изменить визуальные параметры отображения каждого счетчика — цвет (Color), масштаб (Scale), ширину линии (Width) и ее стиль (Style).
На вкладке Graph изменяем отображение графика:
• View — задаем режим отображения: график, гистограмма или отчет;
• Scroll style — тип прокрутки, указывающий направление прокрутки для линейного графика. Выбрав Wrap (Зацикливание) график будет прокручиваться слева направо, Scroll (Продвижение) — в обратном направлении;
• Title — название графика, отображаемое под панелью инструментов;
• Vertical axis — при помощи этого параметра можно дать название вертикальной оси координат;
• Show — включает отображение вертикальной и горизонтальной сетки и подписи со значениями для осей координат;
• Vertical scale — диапазон значений вертикальной шкалы. Здесь устанавливаем минимальное и максимальное значение, которые будут отображаться на графике.
Ну и на вкладке Appearance настраивается цветовое оформление и используемый шрифт.
Сохранение данных о производительности
Иногда может потребоваться сохранить полученные данные, например для предоставления отчета или для проведения дальнейшего анализа. Performance Monitor позволяет экспортировать полученные данные в файл. Для экспорта надо кликнуть правой клавишей мыши в окне и в открывшемся меню выбрать пункт «Save Settings As». По умолчанию отчет сохраняется в формате HTML, и его можно открыть в любом браузере.
Также можно выбрать для сохранения формат файла с расширением .tsv — файл с разделителями — знаками табуляции. Этот формат может использоваться для экспорта данных в электронные таблицы. А выбрав в контекстном меню пункт «Save Image As» можно сохранить содержимое экрана в виде изображения в формате GIF.
Вот так выглядит в браузере HTML-отчет. В нем сохранены все параметры монитора производительности, включая тип отображения, заголовки и т.п.
PowerShell
Значения счетчиков производительности можно посмотреть и из консоли PowerShell, где для этого есть специальный командлет Get-Counter. Хотя PowerShell имеет гораздо меньше возможностей для отображения счетчиков производительности, чем Performance Monitor, но зато может использоваться в режиме установки Server Core, при полном отсутствии графического интерфейса.
Предположим, мы хотим с его помощью посмотреть загрузку процессора. Сначала выведем все доступные счетчики для процессора:
(Get-Counter -ListSet Processor).counter
Затем выбираем нужный и выводим его значение:
Get-Counter -Counter ″Processor(_total)% Processor Time″ -SampleInterval 10 -MaxSamples 2
— В скобках указывается экземпляр счетчика (Instance), в данном примере это ядра процессора. Можно указать номер конкретного экземпляра, либо поставить звездочку (*), тогда будет выведена информация по каждому экземпляру, а указав параметр (_total), мы получим суммарную информацию по всем экземплярам.
— Параметр -SampleInterval указывает периодичность снятия данных, а -MaxSamples — количество попыток. Так в примере данные снимаются 2 раза с интервалом в 10 секунд. Если вместо этих параметров указать -Continuous, то данные будут сниматься непрерывно, пока вы не нажмете Ctrl+C;
— При необходимости можно вывести значения с нескольких счетчиков, указав их через запятую.
Заключение
Итак, сегодня мы рассмотрели некоторые способы использования счетчиков производительности для мониторинга серверов в режиме реального времени. В следующей статье речь пойдет о настройке групп сборщиков данных, сохранении данных в файлы журналов и последующем их анализе, а также о настройке уведомлений.
В этой статье мы рассмотрим особенности использования встроенных счетчиков системного монитора для отслеживания работоспособности Windows Server. Счетчики PerfMon можно использовать для отслеживания изменений определенных параметров производительности сервера (предупреждений) и предупреждения администратора в случае высокой нагрузки или других ненормальных условий.
Чаще всего для мониторинга работоспособности, доступности и использования серверов используются сторонние продукты. Если вам нужно получить информацию о производительности приложения или оборудования всего с одного или двух серверов Windows, или когда вам это нужно на непостоянной основе, или если у вас более сложный случай, требующий углубленного устранения неполадок производительности, вы можете использовать встроенная функциональность Windows Performance Monitor.
В Performance Monitor есть огромное количество счетчиков для получения информации об оборудовании, операционной системе, установленном программном обеспечении в виде конкретных чисел. Performance Monitor может отслеживать показатели производительности сервера в реальном времени или вести журнал.
Основные возможности Performance Monitor, которые можно использовать отдельно или в сочетании с другими сторонними системами мониторинга (такими как Zabbix, Nagios, Cacti и другими):
- система мониторинга при отображении информации о производительности сначала обращается к Performance Monitor;
- основная задача системы мониторинга – уведомить о наступлении тревожного момента, аварии, а от Performance Monitor – собрать и предоставить диагностические данные.
Вы можете получить текущие значения производительности Windows из диспетчера задач, но монитор производительности может сделать немного больше:
- Диспетчер задач работает только в реальном времени и только на определенном хосте (локальном;
- в Performance Monitor можно подключать счетчики с разных серверов, вести мониторинг в течение длительного времени и сохранять собранную информацию в файл;
- в диспетчере задач очень мало показателей производительности.
Мониторинг производительности процессора с Perfomance Monitor
Для чтения данных о производительности процессора мы будем использовать несколько основных счетчиков:
- Процессор % загруженности процессора – определяет уровень загрузки ЦП и отслеживает время, затрачиваемое ЦП на работу процесса. Уровень использования ЦП в диапазоне 80–90% может указывать на необходимость в дополнительной вычислительной мощности.
- Processor % Privileged Time: Относится к проценту времени процессора, потраченному на выполнение команд ядра Windows, таких как обработка запросов ввода-вывода SQL Server. Если значение этого счетчика постоянно высокое и счетчики для объекта «Физический диск» также высокие, вам следует подумать об установке более быстрой и эффективной дисковой подсистемы (см. Более подробную статью об анализе производительности диска с помощью PerfMon).
- Процессор % пользовательского времени – соответствует проценту процессорного времени, необходимого для запуска пользовательских приложений.
Запустите системный монитор с помощью команды perfmon. В разделе «Монитор производительности» загрузка ЦП отображается в реальном времени с помощью графика (параметр «Линия»), чисел (параметр «Отчет») и гистограммы (параметр «Гистограмма») (представление выбирается на панели инструментов). Чтобы добавить счетчики, нажмите кнопку «+» (Добавить счетчики).
Слева направо линия движется в реальном времени и показывает график загрузки процессора, где вы можете видеть как пики, так и постоянную нагрузку.
Например, вам нужно посмотреть на загрузку процессоров ваших виртуальных машин и самого Hyper-V. Выберите группу счетчиков логического процессора гипервизора Hyper-V, выберите счетчик% общего времени выполнения. Вы можете показать нагрузку для всех ядер ЦП (общая) или для конкретного (HV LP #) или всех сразу (все экземпляры). Выбираем Всего и Все экземпляры.
Чтобы не стоять и наблюдать за движением линии, создаются группы Data Collector Sets, для которых задаются параметры и периодически пересматриваются.
Чтобы создать группу сбора данных, вам нужно щелкнуть правой кнопкой мыши в разделе User Defined, выбрать в меню New -> Data Collection Set. Выберите «Создать вручную (дополнительно)» -> «Создать журналы данных» и включите параметр «Счетчик производительности». Щелкните Добавить и добавить счетчики. В нашем примере% общего времени выполнения определяется логическим процессором гипервизора Hyper-V и доступными мегабайтами из группы памяти. Установите интервал опроса счетчика на 3 секунды.
Затем вручную запустите созданную вами группу сборщиков данных, щелкнув ее правой кнопкой мыши и выбрав в меню Пуск.
Через некоторое время вы сможете просмотреть отчет. Для этого выберите «Последний отчет» в контекстном меню сборщика данных. Вы можете просматривать и анализировать отчет о производительности в виде графика. Отчет можно скопировать и отправить. Он хранится в C: PerfLogs Admin CPU_Mon и имеет расширение .blg.
Если вам нужно запустить тот же набор счетчиков, что и первый на другом сервере, вы можете их экспортировать. Для этого в контекстном меню группы сбора данных выберите пункт Сохранить шаблон, укажите имя файла (расширение .xml). Скопируйте xml-файл на другой сервер, создайте новую группу сбора данных, выберите пункт «Создать из шаблона» и укажите готовый шаблон.
Создание Alert для мониторинга загрузки CPU
В конкретный критический момент Performance Monitor может активировать предупреждения, которые помогают ИТ-специалисту прояснить суть проблемы. В первом случае предупреждение может отправлять предупреждение, а во втором – запускать другую группу сбора данных.
Чтобы создать оповещение в PerfMon, вам необходимо создать еще один набор сборщиков данных. Назовите его CPU_Alert, выберите параметр «Создать вручную (расширенный)», затем «Предупреждение счетчика производительности». Добавьте счетчик% Total Run Time от логического процессора Hyper-V Hypervisor, укажите предел нагрузки 50%, при превышении будет срабатывать предупреждение, установите интервал опроса счетчика на 3 секунды.
Затем вам нужно получить доступ к свойствам этой группы сбора информации, перейти на вкладку Alert Action, включить опцию Log an entry in the application event log и запустить группу сбора данных. При срабатывании предупреждения в журнале появится запись (в консоли средства просмотра событий в разделе Журналы приложений и служб Microsoft Windows Diagnosis-PLA Operational:
«Счетчик производительности Процессор (_Total) % Загрузка процессора превысила порог предупреждения. Значение счетчика 100,000000 превышает предельное значение 50,000000. 50.000000 – пороговое значение предупреждения”.
Здесь мы также рассмотрим второй случай, когда необходимо запустить другую группу сбора данных. Например, предупреждение срабатывает при достижении высокой загрузки ЦП, записи в журнал, но вы хотите включить сбор данных с других счетчиков для получения дополнительной информации. Для этого в свойствах оповещения в меню «Действие при оповещении» в раскрывающемся списке «Запуск набора сборщиков данных» выберите ранее созданную группу сбора, например CPU_Mon. Рядом находится вкладка Alert Tasks, где вы можете указать различные темы или подключить готовую задачу из консоли Task Scheduler, указав ее имя в поле Run this task when a alert is triggered field. Воспользуемся вторым вариантом.
Используя Планировщик, вы можете выполнять некоторые действия: выполнить команду, отправить письмо или вывести сообщение на экран (сейчас последние функции не поддерживаются, они считаются устаревшими). Вы можете использовать сценарий PowerShell для отображения уведомлений на экране. Для этого в консоли планировщика заданий создайте новую задачу, на вкладке «Триггеры» выберите «Один раз», на вкладке «Действия» в раскрывающемся поле «Действие» выберите параметр «Запустить программу» в поле «Программа / сценарий», укажите powershell .exe и в поле Добавить аргументы (необязательно) следующий код:
-WindowStyle hidden -Command "& {[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Внимание, CPU загружен', 'Посмотреть')}"
Чтобы отправить письмо, вы можете использовать командлет PowerShell Send-MailMessage или стороннюю служебную программу mailsend.exe. Для этого создайте аналогичную задачу в Планировщике, в поле Program / Script укажите полный путь утилиты (у нас C: Scripts Mail mailsend.exe), а в поле Добавить аргументы (необязательно) через В параметры необходимо передать значения: адрес электронной почты, адрес и номер порта SMTP-сервера, текст письма и заголовок, пароль:
-WindowStyle hidden -Command "& {[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Внимание, CPU загружен', 'Посмотреть')}"
где + cc означает не запрашивать копию письма, + bc – не запрашивать слепую копию письма.
Источник изображения: winitpro.ru
Ранее я уже писал о работе и настройке системного монитора Windows (Performance Monitor). В данной статье продолжим знакомиться с этим замечательным инструментом. В частности, поговорим о том как создавать сборщики данных загруженности оборудования системы, а затем просматривать и анализировать полученную информацию в системном мониторе.
0. Оглавление
- Запуск системного монитора
- Добавление группы сборщиков данных
- Запуск сборщика данных по расписанию
- Автоматический перезапуск сборщика данных
- Работа с группами сборщиков данных из командной строки
1. Запуск системного монитора
Итак, запускаем Системный монитор Windows (Windows Performance Monitor). Во всех версиях Windows Server сделать это проще всего выполнив команду perfmon (Win+R — «perfmon» — «ОК»)
2. Добавление группы сборщиков данных
Теперь добавим новую группу сборщиков данных.
Но прежде всего, необходимо убедиться, что пользователь, под которым вы работаете, является членом группы «Пользователи журналов производительности» (Performance Log Users) или группы «Администраторы» (Administrators) (или аналогичной).
Для добавления новой группы сборщиков данных, в запустившемся Системном мониторе Windows в дереве консоли слева раскрываем вкладку «Группы сборщиков данных» (Data Collector Set), кликнем правой кнопкой мыши по группе «Особые» (User Defined) и в контекстном меню выберем пункт «Создать» (New) — «Группа сборщиков данных» (Data Collector Set).
Запуститься мастер создания группы сборщиков данных. На первой странице мастера вводим имя группы сборщиков, выбираем пункт «Создать вручную (для опытных)» (Create manually (Advenced)) и нажимаем «Далее» (Next).
Выбираем тип данных «Создать журналы данных» (Create data logs), ставим флаг «Счетчик производительности» (Performance counter) и снова жмем «Далее» (Next).
На следующей странице мастера, необходимо выбрать счетчики производительности по которым будет идти запись в журнал. Нажимаем кнопку «Добавить» (Add), после чего откроется знакомое по предыдущей статье окно добавления счетчиков. Счетчиков очень много. Для удобства все счетчики сгруппированы по типу оборудования или ПО. Обратите внимание, что можно добавлять как счетчики текущего компьютера, так и компьютеров сети (при наличии соответствующих прав).
Для некоторых счетчиков возможно выбрать конкретный экземпляр объекта. Например, при добавлении счетчика «Средняя длина очереди диска» (Avg. Disk Queue Length) можно выбрать диск, для которого будет собираться статистика.
Выбрав необходимый счетчик (или конкретный экземпляр объекта для счетчика) следует перенести его в таблицу «Добавленные счетчики» (Added Counters) с помощью кнопки «Добавить» (Add). Добавив все необходимые счетчики, нажимаем «ОК».
После чего все выбранные счетчики перенесутся в список счетчиков создаваемой группы сборщиков данных. Устанавливаем интервал сбора данных (Sample interval) (рекомендуется 15 сек.) и нажимаем «Далее» (Next).
Теперь необходимо указать каталог, в котором будет храниться журнал системного монитора. По умолчанию это каталог
%sistemdrive%PerfLogsAdmin<Имя группы сборщиков данных>
Однако если вы не Администратор, вам, скорее всего, не хватит прав на каталог C:PerfLogs. И в этом случае, следует выбрать папку для логов там, куда гарантированно есть право на запись.
Определившись с корневой папкой для хранения файлов журнала, жмем «Далее» (Next).
На последней странице мастера также можно выбрать пользователя Windows из под которого будет вестись замер производительности. Сменив пользователя (или оставив значение по умолчанию) устанавливаем переключатель, отвечающий за последующие действия программы в значение «Сохранить и закрыть» (Save and close) и нажимаем «Готово» (Finish) для завершения работы мастера.
После чего в дереве консоли в группе «Особые» (User defined) увидим нашу только что созданную группу сборщиков данных. Для того, чтобы сборщик данных начал запись в показателей счетчиков в журнал, необходимо кликнуть по нему правой кнопкой мыши и в контекстном меню выбрать пункт «Пуск» (Start) или нажать соответствующую кнопку на панели задач оснастки.
Если все настроено правильно, и сборщик начал запись в журнал, иконка группы сборщика данных сменится на иконку со значком «Play». Даже если завершить сеанс пользователя, сборщик все равно продолжит свою работу.
При текущих настройках сборщик будет работать до тех пор, пока не произойдет перезагрузка сервера, или его не остановят вручную. Для этого достаточно в контекстном меню группы сборщиков данных выбрать пункт «Стоп» (Stop) или нажать соответствующую кнопку на панели задач.
В соответствии с выбранными настройками, в указанном раннее каталоге можно найти файл журнала текущего замера производительности. Каждый перезапуск сборщика начинает новый файл.
Просматривать данный журнал производительности можно в системном мониторе, выбрав нужный файл в качестве источника в свойствах системного монитора как показано на рисунке ниже (можно добавить сразу несколько файлов, в этом случае данные из всех замеров будут выведены на одном графике).
Но намного удобнее это делать, найдя нужный журнал в дереве консоли, развернув вкладки «Отчеты» (Reports) — «Особые» (User Defined). Здесь для каждой созданной группы сборщиков данных хранятся сведения о файлах журналов замера производительности. Чтобы просмотреть данные журнала достаточно просто выбрать его в дереве.
Просматривать файлы журнала можно на любом компьютере, где установлен Системный монитор. Таким образом данные счетчиков можно собирать на нескольких компьютерах, а просматривать на одном, их можно отправлять по электронной почте и т. д.
3. Запуск сборщика данных по расписанию
Также есть возможность настроить запуск сборщика данных по расписанию. Для этого следует кликнуть правой кнопкой мыши по группе сборщиков данных, для которой необходимо настроить расписание, и в контекстном меню выбрать пункт «Свойства» (Properties).
В открывшемся окне свойств сборщика данных доступно для изменения множество параметров сборщика. В частности, на вкладке «Расписание» (Schedile) можно настроить несколько триггеров, по которым будет запускать замер производительности. Например, на картинке ниже, установлено расписание, при котором сборщик данных будет запускаться каждый будний день в 10:00 в течении всего Июня 2015 года.
Осталось только определить время остановки записи работы счетчиков. Сделать это можно на вкладке «Условие остановки» (Stop Condition). На приведенном ниже рисунке сборщик будет работать в течении одного часа.
Дожидаемся назначенного времени и видим, что файл журнала успешно сформировался и доступен для анализа в дереве консоли оснастки «Производительность» (Performance).
4. Автоматический перезапуск сборщика данных
Когда сборщик данных ведет запись показателей счетчиков, сам файл журнала недоступен для просмотра. Это не совсем удобно, т. к. иногда требуется и производить запись и просматривать данные замера производительности. В этом случае можно настроить автоматический перезапуск сборщика данных, например через каждый час. При новом запуске, сборщик начнет новый файл журнала, остальные же файлы мы сможем сразу просматривать в системном мониторе.
Прежде всего, для удобства хранения фалов журнала, поменяем формат имени папки (Subdirectory name format), в которой будет храниться файл с данными замера производительности. Сделать этом можно вызвав окно свойств текущего сборщика данных и перейдя на вкладку «Папка» (Directiry). Здесь с помощью встроенной подсказки можно установить шаблон создаваемых папок. Установим имя, соответствующее полному времени начала работы группы сборщика данных, т. е. в формате «yyyyMMddHHmmss».
Затем на вкладке «Условие остановки» (Stop Condition) установим флаг «Перезапускать группу сборщиков данных при достижении предела.» (Restart the data collector set at limits) и установим длительность (Duration) работы счетчика, например 1 час, после чего сохраняем изменения с помощью кнопки «ОК».
Запускаем сборщик данных для начала замера производительности и видим, что в соответствии с установленными параметрами каждый час создается новый файл журнала системного монитора, а предыдущие файлы доступны для анализа.
5. Работа с группами сборщиков данных из командной строки
Работать с группами сборщиков данных можно как и из оснастки «Производительность» (Performance), так и из командной строки с помощью программы logman.exe. Синтаксис и примеры работы данного оператора можно получить выполнив команду
logman /?
В ситуации, когда приходится постоянно настраивать сбор данных монитора производительности у разных клиентов на разных серверах, удобно один раз написать bat-файл, который будет создавать новую группу сборщиков данных с определенным набором счетчиков производительности.
Например, bat-файл, создающий группу сборщиков данных аналогичную описанной в данной статье выше, будет содержать код (bat-файлы удобно писать с помощью программы Notepad++):
@ECHO OFF
ECHO Adding counter "New_counter"...
rem Создаем новую группу сборщиков данных
logman create counter New_counter -f bincirc -c ^
"Processor(_Total)%% Processor Time" ^
"Memory(_Total)Page/sec" ^
"Memory(_Total)%% Uncommited Bytes In Use" ^
"Memory(_Total)Available Bytes" ^
"System(_Total)Processor Queue Length" ^
"PhysicalDisk(_Total)Avg. Disk Queue Lenghth" ^
"PhysicalDisk(*)Avg. Disk Queue Lenghth" ^
"Network Interface(*)Bytes Total/sec" ^
-si 15 -v mmddhhmm
rem Запускаем монитор производительности
C:WindowsSystem32Perfmon.exe
ECHO done
(Скачать bat-файл)
Названия счетчиков заключаются в кавычки и разделяются пробелом. Имена счетчиков можно писать как в англоязычном варианте, так и на русском языке (но тогда bat-файл будет работать только в русскоязычных версиях Windows). Если в названии счетчика встречается знак %, его необходимо заменить знаками %% (двойной процент).
Выполнив данный файл, сразу попадем в монитор производительности, где увидим только что созданную группу сборщиков данных с именем New_counter.
Описанных счетчиков, как правило, хватает для общей оценки загруженности системы. Другие счетчики используются для детального расследования проблем, если установлено, что имеет место недостаточная производительность оборудования.