Данный материал является переводом оригинальной статьи "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.
Спасибо, будем ждать!