Performance monitor windows server

В этой статье мы рассмотрим особенности использования встроенных счетчиков производительности 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).

добавить счетик в perfmon

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

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

Например, вам нужно посмотреть загрузку процессора виртуальными машинами и самим 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

Далее вручную запустите созданный Data Collector Set, нажав на нём правой кнопкой мыши и выбрав в меню пункт Start.

запустить сбор данных в perfomance monitor

Через некоторое время можно просмотреть отчёт. Для этого в контекстном меню группы сбора данных нужно выбрать пункт Latest Report. Вы можете посмотреть и проанализировать отчёт производительности в виде графика. Отчёт можно скопировать и переслать. Он хранится в C:\PerfLogs\Admin\CPU_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 в perfmon

Далее нужно зайти в свойства данной группы сбора информации, перейти на вкладку Alert Action, включить опцию Log an entry in the application event log и запустить группу сбора данных. Когда сработает алерт, в журнале (в консоли Event Viewer в разделе Applications and Services Logs\Microsoft\Windows\Diagnosis-PLA\Operational) появится запись:

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”.

Performance counter Time has tripped its alert threshold

Здесь же рассмотрим и второй случай, когда нужно запустить другую группу сбора данных. Например, алерт срабатывает при достижении высокой загрузки CPU, делает запись в лог, но вы хотите включить сбор данных с других счётчиков для получения дополнительной информации. Для этого необходимо в свойствах алерта в меню Alert Action в выпадающем списке Start a data collector set выбрать ранее созданную группу сбора, например, CPU_Mon. Рядом находится вкладка Alert Task, в которой можно указать разные аргументы либо подключить готовую задачу из консоли Task Scheduler, указав её имя в поле Run this task when an alert is triggered. Будем использовать второй вариант.

привязка data collector set в perfmon к задаче в task Scheduler

С помощью 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 загружен', 'Посмотреть')}"

вывод оповещения alert на экран при высокой загрузке cpu в perfmon

Для отправки письма вы можете воспользоваться командлетом PowerShell Send-MailMessage или стороннюю утилиту mailsend.exe.. Для этого создайте аналогичное задание в Task Scheduler, в поле Program/Script укажите полный путь к утилите (у нас C:\Scripts\Mail\mailsend.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 — не запрашивать скрытую копию письма.

Каждый опытный сисадмин знает, что лучший показатель ухудшения быстродействия 1С, это главный бухгалтер, движущийся в сторону ИТ отдела со скоростью, превышающей 1.1 м/с. Но только мудрейшие из них настраивают сбор счетчиков, чтобы эта встреча не застала их врасплох. Об этом и поговорим под катом…

Эпиграф:
Существуют две причины, по которым может тормозить компьютер:
1. Вирус.
2. Антивирус.

© советы бывалых сисадминов

Не ошибусь, если скажу, что каждый офисный админ сталкивался с вопросом: Почему тормозит 1С?

И опять же не ошибусь, если первое что он(а) при этом сделает, это откроет диспетчер задач.
Более продвинутые, конечно настроят сбор счетчиков Performance Monitor (Zabbix в данном контексте примерно то же самое). 

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

Внимание!

Название счетчиков отличается не только в зависимости от языка операционной системы, но и от ее редакции.

Добавим к этому видение и ошибки авторов публикаций и поймем, что простой копипаст может не сработать.

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

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

  • typeperf -q [object] выведет список всех счетчиков
  • typeperf -qх [object] выведет список всех счетчиков по экземплярам оборудования, например отдельно для дисков А: и С: 

Где необязательный параметр [object] это фильтр по виду счетчиков, например PhysicalDisk
Этот вывод можно переадресовать в файл и далее уже из него выбирать необходимое
typeperf -qx  -y -o counters.txt

В дальнейшем, чтобы получить сводную статистику нужно заменить  в случае ключа -qx имя конкретного экземпляра на (_Total), а чтобы получить статистику для каждого экземпляра отдельно на (*)

Например:

\PhysicalDisk(_Total)\Current Disk Queue Length 
\PhysicalDisk(*)\Current Disk Queue Length 

Рекомендуемый мной путь, это создать bat файл из 3 строк.

logman create counter 1C_counter -f bincirc 
logman update counter 1C_counter -cf assembled.txt 
logman update counter 1C_counter -si 15 -v mmddhhmm 

А в файл assembled.txt добавлять названия счетчиков. По одному на строку. Рабочий и рекомендуемый мной пример для Windows Server 2012 R2 ENG будет внизу.

список под спойлером

 

\Processor(_Total)\% Processor Time 
\Processor(_Total)\% User Time 
\Processor(_Total)\% Privileged Time 
\Memory\Available MBytes 
\Memory\Pages/sec 
\Memory\% Committed Bytes In Use 
\Paging File(*)\% Usage 
\System\Context Switches/sec 
\System\Processor Queue Length 
\System\Processes 
\System\Threads 
\PhysicalDisk(_Total)\Current Disk Queue Length 
\PhysicalDisk(*)\Current Disk Queue Length 
\PhysicalDisk(_Total)\Avg. Disk sec/Read 
\PhysicalDisk(_Total)\Avg. Disk sec/Write 
\Network interface(_Total)\Bytes Total/sec 
\Network interface(_Total)\Current Bandwidth 

\Process(1cv8)\% Processor Time
\Process(1cv8)\Private Bytes
\Process(1cv8)\Virtual Bytes
\Process(ragent)\% Processor Time
\Process(ragent)\Private Bytes
\Process(ragent)\Virtual Bytes
\Process(rphost)\% Processor Time
\Process(rphost)\Private Bytes
\Process(rphost)\Virtual Bytes
\Process(rmngr)\% Processor Time
\Process(rmngr)\Private Bytes
\Process(rmngr)\Virtual Bytes
\Process(sqlservr)\% Processor Time
\Process(sqlservr)\Private Bytes
\Process(sqlservr)\Virtual Bytes

\SQLServer:General Statistics\User Connections
\SQLServer:General Statistics\Processes blocked
\SQLServer:Buffer Manager\Buffer cache hit ratio
\SQLServer:Buffer Manager\Page life expectancy
\SQLServer:SQL Statistics\Batch Requests/sec
\SQLServer:SQL Statistics\SQL Compilations/sec
\SQLServer:SQL Statistics\SQL Re-Compilations/sec
\SQLServer:Access Methods\Page Splits/sec
\SQLServer:Access Methods\Forwarded Records/sec
\SQLServer:Access Methods\Full Scans/sec
\SQLServer:Memory Manager\Target Server Memory (KB)
\SQLServer:Memory Manager\Total Server Memory (KB)
\SQLServer:Memory Manager\Free Memory (KB)
\SQLServer:Databases(_Total)\Transactions/sec
\SQLServer:Databases(*)\Transactions/sec

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

лучших собаководов

Начнем с изучения советов самого вендора: microsoft.com
Публикация Windows VM health

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

Далее, а скорее и выше, в моем топе вариантов идет рекомендация от Евгения Валерьевича Филиппова
Настольная книга 1С: Эксперта по технологическим вопросам. Издание 2

Список небольшой, но все по делу и видно, что автор его использовал в работе.

Список книги Методическое пособие по эксплуатации крупных информационных систем на платформе «1С: Предприятие 8»
А. Асатрян, А. Голиков, А. Морозов, Д. Соломатин, Ю.Федоров

еще лаконичнее, в него добавлен мониторинг 1cv8, ragent, rphost, rmngr его я вынесу в отдельный список, потому что он может и наверное не помешает при любом варианте, кроме разнесенных SQL и 1С серверов.

таблица под спойлером

 «\Process(«1cv8*»)\%%Processor Time»
«\Process(«1cv8*»)\Private Bytes»
«\Process(«1cv8*»)\Virtual Bytes»
«\Process(«ragent*»)\%%Processor Time»
«\Process(«ragent*»)\Private Bytes»
«\Process(«ragent*»)\Virtual Bytes»
«\Process(«rphost*»)\%%Processor Time»
«\Process(«rphost*»)\Private Bytes»
«\Process(«rphost*»)\Virtual Bytes»
«\Process(«rmngr*»)\%%Processor Time»
«\Process(«rmngr*»)\Private Bytes»
«\Process(«rmngr*»)\Virtual Bytes»

или как вариант без разбиения

\Process(1cv8)\% Processor Time
\Process(1cv8)\Private Bytes
\Process(1cv8)\Virtual Bytes
\Process(ragent)\% Processor Time
\Process(ragent)\Private Bytes
\Process(ragent)\Virtual Bytes
\Process(rphost)\% Processor Time
\Process(rphost)\Private Bytes
\Process(rphost)\Virtual Bytes
\Process(rmngr)\% Processor Time
\Process(rmngr)\Private Bytes
\Process(rmngr)\Virtual Bytes
\Process(sqlservr)\% Processor Time
\Process(sqlservr)\Private Bytes
\Process(sqlservr)\Virtual Bytes

Список счетчиков оборудования.

Далее идет статья с ИТС Анализ загруженности оборудования для Windows Елена Скворцова и ее полная копия на kb у кого есть туда доступ, в ней подробно и с картинками описан весь процесс настройки. Для первой настройки это очень полезно.
При всей полезности и доступности статьи не покидает ощущение, что ее писали как знаменитое письмо Матроскина: «ваш сын дядя Шарик», разные люди. Например текст не совпадает с картинками, для некоторых счетчиков описаны пороговые значения, но в списке их нет, некоторые счетчики в списке двоятся, из-за этого не получится копипастом в командной строке запустить logman. Это как раз начинающих немного обескураживает.

Лирическое отступление: Не прошло и месяца с регионального тура конкурса ИТС, где один из вопросов был именно так составлен, в коде вариант ответа один, а в картинке и математически верный совсем другой. Организаторы опирались именно на корректность кода. Хотя понятно, код проверяют слабо, во всех научных книгах об этом предупреждают заранее.

Замыкают список иностранные агенты вендоры. 
www.veritas.com Analyzing SQL Performance using Performance Monitor Counters

Понятно, что про 1С они и слыхом не слыхивали, но то, что серверов они видели на порядок более, это факт.

red-gate.com
SQL Server performance and activity monitoring

Что касается, счетчиков для MS SQL, то мой список был в начале публикации.

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

Желающие могут провести пару зимних (летних) вечеров разбирая полный список.

таблица под спойлером

— Штурман, приборы!
— Четырнадцать.
— Что четырнадцать?
— А что, приборы!?
©www.anekdot.ru

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

Техническое отступление: Хотя ней выражено мнение уважаемых экспертов, относиться к нему надо с пониманием.

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

Внимание!

Что означает словосочетание «Предельные значения». То что их превышение требует вашего внимания и сервер работает не совсем штатно по мнению собравшихся. Не более того. Более того, может быть как раз для вашего варианта работы это нормально.

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

Performance Monitor (Монитор производительности) — это мощный инструмент, который позволяет в реальном времени отслеживать и анализировать производительность Windows-системы. Данное средство предоставляет детализированные данные о работе различных компонентов сервера, таких как процессор, память, дисковые подсистемы и сеть.

Чтобы запустить интерфейс данного инструмента, откройте Server Manager, перейдите в Tools и выберите Performance Monitor.

Запуск Performance Monitor

В основном окне Performance Monitor находятся три основных раздела: Monitoring Tools (Инструменты мониторинга), Data Collector Sets (Наборы сборщиков данных) и Reports (Отчеты).

В разделе Performance Monitor вы можете добавить различные счётчики, которые будут отображать данные в реальном времени. Чтобы это сделать, нажмите кнопку + (Add) на панели инструментов и в появившемся окне выберите категорию счётчиков, например, Processor, Memory, PhysicalDisk или Network Interface.

Добавление счётчика в Performance Monitor

Затем выберите конкретные счётчики внутри категории, такие как % Processor Time, Available MBytes, Disk Reads/sec, Bytes Total/sec. После чего нажмите Add, затем OK.

Добавление параметра в счётчике

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

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

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

Для создания нового набора сборщиков данных зайдите в раздел Data Collector Sets, щёлкните правой кнопкой мыши на User Defined и выберите NewData Collector Set.

Создание нового набора сборщиков данных в Performance Monitor

Далее введите имя набора и выберите Create manually (Advanced). Для продолжения нажмите Next.

Стартовое окно мастера создания набора сборщиков данных

Выберите Create data logs и отметьте, например, Performance counter. Затем нажмите Next.

Выбор типа данных, которые будут включены в Data Collector Set

При помощи кнопки Add выберите нужные счётчики из списка, например, Processor% Processor Time, MemoryAvailable MBytes. Установите интервал выборки, например, 15 секунд, и нажмите Next.

Выбор необходимых счётчиков и указание интервала выборки

Укажите путь для сохранения данных и нажмите Next.

Путь для сохранения данных при создании Data Collector Set

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

Завершение процесса создания набора сборщиков данных

Созданный набор будет находится в разделе Data Collector SetsUser Defined. Щёлкните правой кнопкой мыши и выберите Start для начала сбора данных, либо Stop для остановки.

Запуск набора сборщиков данных в Performance Monitor

Анализ отчётов

Анализ отчётов в Performance Monitor позволяет интерпретировать собранные данные о производительности системы. С их помощью вы можете выявлять тенденции и узкие места и, как следствие, принимать меры для улучшения производительности.

Для создания отчёта в разделе Reports выберите User Defined, найдите ваш набор сборщиков данных и остановите его. После остановки сбора данных отчёт будет автоматически создан и доступен для просмотра. Кликните на отчёте, чтобы открыть его. Там вы сможете увидеть собранные данные в виде таблиц и графиков.

Просмотр отчёта в Performance Monitor

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

Анализ отчётов в Performance Monitor — это важный процесс для обеспечения стабильной и эффективной работы сервера. Систематический мониторинг и анализ полученных данных позволяют выявлять и устранять проблемы на ранних стадиях. Таким образом вы сможете обеспечивать высокую производительность и надёжность вашей инфраструктуры.

Performance Monitor

Perfmon в Windows — является оснасткой консоли управления (MMC), которая предоставляет средства для анализа производительности ОС. С ее помощью можно отслеживать производительность операционной системы и оборудования в режиме Real time. Настраивать данные, выборку счетчиков, которые требуется собирать в журналах, определять пиковые значения для предупреждений и автоматических действий, создавать отчеты и просматривать данные о производительности за прошлые периоды различными способами. Обладает классическим интерфейсом MMC консоли, которая на данный момент является устаревшим инструментом для использования.

В этой статье будет рассматриваться новый функционал Windows Performance Monitor. Его интерфейс интегрирован в веб-средство управления WAC (Центр администрирования Windows) который можно скачать отсюда. Обзор WAC есть в нашей базе знаний. На данный момент это предварительная версия, содержит в себе функции готовые к оценке и тестированию. При использовании расширения «Монитор производительности» в Центре администрирования Windows используются те же данные о производительности, что и для perfmon.

После подключения к серверу, основное окно Windows Admin Center открывается на вкладке Обзор, где видны основные характеристики сервера: процессор, версия ОС, ОЗУ, объем диска и другие характеристики. Также на этом этапе можно выключить/перезагрузить сервер. Здесь же можно включить дисковые метрики, включение которых может повлиять на общую производительность системы. О чем WAC и сообщит.

Дисковые метрики

Обзор

Графики

На главную страницу добавили возможность ввода в домен.

Домен

  • Простое удаленное управление. Можно подключаться ко всем серверам семейства Windows Server. Для подключения Центр администрирования Windows, в фоновом режиме, использует удаленное подключение PowerShell.
  • Общий доступ к рабочему пространству. Возможность создавать рабочие области, которые можно сохранять и использовать на других системах. Области также можно экспортировать и импортировать в другие установки шлюза Центра администрирования. В Параметрах рабочего пространства можно указать Диапазон обновления, цветовую схему (обычную или высокую контрастность), размер шрифта.

Общий доступ к рабочему пространству

  • Поиск и подсветка. Для начала нужно выбрать последовательно: Объект, Экземпляр и счетчик, затем тип графика. Существует очень большое количество счетчиков, но их можно легко искать, используя выпадающий список. Performance Monitor также выделяет другие полезные счетчики, которые имеет смысл мониторить, например, Read Bytes/sec и Write Bytes/sec. Для каждого параметры показывается подробное описание и подсказка.

Поиск и подсветка

  • Различные типы графиков. Можно использовать различные типы графиков, которые упрощают поиск и сравнение нужной информации в зависимости от сценария использования. Стандартный линейный график для просмотра одного или нескольких счетчиков с течением времени. График отчета будет содержать в себе табличные данные. Минимум-максимум покажет соответствующие результаты, а если выгрузить в таблицу Excel, можно использовать фильтр, и найти, например, средние значения.

Так как Windows Admin Center является новым инструментом удаленного управления, он и его компоненты еще будут развиваться и дополняться, в том числе и функционал Windows Performance Monitor.

Данный материал является переводом оригинальной статьи «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» в дереве навигации слева.

Windows Performance Monitor - First look

Добавление счетчиков Perfmon

Счетчик «% Processor Time» запущен по умолчанию. Нажмите на зеленый плюс на верхней панели кнопок, чтобы начать добавлять счетчики.

Windows Performance Monitor - Add Counter

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

Windows Performance Monitor - Select Counter

  1. Прокрутите вверх, чтобы щелкнуть раскрывающийся список объекта, который вас интересует;
  2. Выберите Счетчик;
  3. При необходимости установите флажок «Show description«, чтобы получить описание Счетчика;
  4. Нажмите «Add«;
  5. Нажмите «OK«

Windows Performance Monitor - Select Counter

Нажав на Счетчик, мы увидим график добавленного Счетчика и его показателей.

Windows Performance Monitor - Counter added

Мы вернулись и добавили некоторые стандартные счетчики мониторинга 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.

  1. Щелкните ПКМ «Performance Monitor«;
  2. Выберите «New«;
  3. Выберите «Data Collector Set«.

Windows Performance Monitor - Add new Data Collector Set

  1. Задайте имя для Collector Set;
  2. Нажмите «Next«.

Windows Performance Monitor - Add Data Collector Set Name

  1. Оставьте корневой каталог по умолчанию или нажмите «Browse…» для сохранения в другое расположение;
  2. Нажмите «Next«.

Windows Performance Monitor - Add Data Collector Set Root Dir

  1. Выберите другую учетную запись или оставьте по умолчанию;
  2. Нажмите «Finish«.

Windows Performance Monitor - Add Data Collector Set Run As Account

И вот вы под «Data Collector Sets» > «User Defined«.

Windows Perfmon Data Collector Sets - User Defined

Сохранение Data Collector Set в шаблоне

Теперь, когда мы сохранили Collector Set, давайте экспортируем его в шаблон. Шаблон представляет собой редактируемый XML-файл, который можно использовать на другом компьютере с Windows и который удобно иметь в своем наборе инструментов.

  1. Щелкните ПКМ на Collector Set;
  2. Выберите «Save Template…»

Windows Perfmon Data Collector Sets - Save Template

  1. Выберите каталог для сохранения шаблона;
  2. Укажите имя шаблона;
  3. Сохраните.

Windows Perfmon Data Collector Sets - Save Template XML Path

Открытие сохраненного шаблона Data Collector Set

Чтобы продемонстрировать открытие сохраненного шаблона в Collector Set на другом компьютере, мы удалили существующий Collector Set. Теперь мы импортируем шаблон.

  1. Щелкните «User Defined«;
  2. Выберите «New«;
  3. Выберите «Data Collector Set«.

Windows Perfmon Data Collector Sets - Open Template

  1. Задайте имя;
  2. Нажмите «Next«.

Windows Perfmon Data Collector Sets - Open from Template

Используйте «Browse» для выбора файла.

Windows Perfmon Data Collector Sets - Open WDAC

  1. Перейдите к сохраненному шаблону и нажмите «Next«;
  2. Нажмите «Open«.

Windows Perfmon Data Collector Sets - Select Template XML

В окне создания нового Data Collector Set нажмите «Next«.

Windows Perfmon Data Collector Sets - Add Data Collector Set from Template

  1. Измените местоположение файла данных или оставьте по умолчанию;
  2. Нажмите «Next«.

Windows Perfmon Data Collector Sets - Add Data Collector Set from Template - Select Path

  1. Измените «Run as» (необязательно);
  2. Выберите «Open properties for this data collector set«;
  3. Нажмите «Finish«.

Windows Perfmon - Add Data Collector Set from Template

  1. В окне свойств Data Collector Set перейдите на вкладку «Directory«;
  2. Измените каталог журналов (необязательно);
  3. Введите имя подкаталога;
  4. Введите формат даты и времени в поле «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«.
    (Нажмите стрелку вправо для всех поддерживаемых форматов.)
  5. Нажмите «Apply«.

Windows Perfmon Data Collector Set Directory

Мы можем добавить расписание для запуска Collector Set.

  1. Щелкните вкладку «Schedule«;
  2. Нажмите «Add«.

Это расписание будет выполняться каждый день с 14:00 до 15:00 часов

  1. Измените «Beginning date» (необязательно);
  2. Выберите «Start time«;
  3. Выберите дни недели для запуска и нажмите «OK«
  1. Вкладка «Stop Condition«;
  2. Отметьте «Overall duration«;
  3. Введите продолжительность;
  4. Выберите единицу времени;
  5. Нажмите «OK«

Windows Perfmon - Data Collector Set - Schedule - Stop

Существует известная проблема с 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

Начнем собирать данные о производительности.

  1. Щелкните ПКМ на «Collector Set«;
  2. Выберите «Start«.

Windows Perfmon - Data Collector Start

Остановите Collector Set, когда будете готовы смотреть данные

  1. Щелкните ПКМ на «Collector Set«;
  2. Выберите «Stop«.

Windows Perfmon - Data Collector Stop

Отображение данных счетчиков
  1. Щелкните ПКМ на «Collector Set«;
  2. Выберите «Latest Report«.

Windows Perfmon - Data Collector Get Report

Здесь мы можем увидеть наши счетчики на экране и выбрать отдельные счетчики для более подробной информации.

Windows Perfmon - Data Collector Report with SQL Server counters

На этом пока всё. В следующей статье мы рассмотрим счетчики монитора производительности Windows, важные для работы SQL Server.

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

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как открыть автозагрузку в windows 10 через командную строку
  • Windows image acquisition wia нет службы
  • Windows 7 nbook ultimate что это
  • Как отключить загрузку программ при включении компьютера windows 10
  • Отключить шпионские функции windows 10 программа