Описание основных счетчиков производительности для мониторинга SQL Server, а также шаблоны.
Счетчики, которые относятся к работе операционной системы и ее компонентов.
Имя | Описание | Назначение |
---|---|---|
Processor(_Total)% Processor Time | % загруженности процессора | Определяет уровень загрузки процессора. Постоянный уровень загрузки ЦП в диапазоне от 80 до 90 % может указывать на аномальную работу приложения (необходимы оптимизации программного кода), необходимость обновления ЦП или на необходимость добавления нескольких процессоров. |
System\Context Switches/sec | Переключения контекста | Количество переключений в секунду с одного потока на другой. Частое переключение ведет к утилизации ресурсов CPU и свидетельствует о недостатке процессорных мощностей для обработки запросов. |
Memory\Available MBytes | Объем доступной оперативной памяти | Позволяет определить достаточный объем памяти на сервере. |
Paging File(_Total)% Usage | % использования файла подкачки | При недостатке оперативной памяти Windows складывает большие куски памяти в файл подкачки на диске, что замедляет работу системы. Этот счетчик позволяет определить, когда начались проблемы с памятью. |
PhysicalDisk(_Total)\Avg. Disk sec/Read | Среднее время операций чтения | Счетчик отслеживает среднее время операций чтения с диска. Задержки не должны превышать 20 мс, для SSD 5 мс. Актуально как для физических дисков, так и для NAS, SAN. |
PhysicalDisk(_Total)\Avg. Disk sec/Write | Среднее время операций записи | Счетчик отслеживает среднее время операций записи на диск. Задержки не должны превышать 20 мс, для SSD 5 мс. Актуально как для физических дисков, так и для NAS, SAN. |
System\Processor Queue Length | Длина очереди процессора | Счетчик показывает количество потоков, ожидающих ресурсов ЦП. Если счетчик больше 0, то это означает, что на одно ядро ЦП запросов больше, чем он успевает обработать. |
Network interface\Bytes total/sec | Скорость передачи данных через сеть | Счетчик показывает скорость, с которой сетевой адаптер обрабатывает данные. Это число рекомендуется поддерживать ниже 60% от пропускной способности сети. |
Счетчики, специфичные для SQL Server.
Для экземпляра по умолчанию, то в первой части имени будет SQLServer:
SQLServer:Buffer Manager\Page life expectancy
При использовании других экземпляров SQL Server имя счетчика будет начинаться с MSSQL$, а далее уже идет имя инстанса:
MSSQL$NameOfSQLServerInstance:Buffer Manager\Page life expectancy
Имя | Описание | Назначение |
---|---|---|
SQLServer:Access Methods\Forwarded Records/sec | Количество операций перенаправления записей в секунду | Позволяет определить на сколько фрагментированы кучи (heap), т.е. таблицы без кластеризованного индекса. Слишком высокий показатель свидетельствует о необходимости уменьшить дефрагментацию кучи или добавить кластеризованный индекс. |
SQLServer:Access Methods\Page Splits/sec | Количество разделений страниц в секунду | Позволяет определить на сколько фрагментированы таблицы. Дополнительная информация. |
SQLServer:Buffer Manager\Buffer cache hit ratio | Возможность размещения данных в буферном кэше | В основном актуален для SQL Server 2000 и более поздних версиях, сейчас уже практически бесполезен. Но в некоторых случаях может продемонстрировать потенциальные проблемы. Если значение постепенно снижается, то стоит проанализировать причины неэффективного потребления памяти. |
SQLServer:Buffer Manager\Page life expectancy | Ожидаемый срок жизни страниц | Показывает сколько в среднем находятся страницы в буферном кэше. Низкий показатель говорит о том, что в системе могут выполняться неоптимальные операции, приводящие к полной перезаписи кэша. Но это может быть и следствием служебных действий на сервере. Следует следить в динамике. Дополнительная информация |
SQLServer:General Statistics\Processes blocked | Количество заблокированных сессий | Позволяет отслеживать количество заблокированных процессов. В динамике позволит выявлять аномалии в работе. |
SQLServer:SQL Statistics\Batch Requests/sec | Количество выполняемых пакетов (запросов) в секунду | Позволяет оценить пропускную способность системы. В динамике позволяет определять аномалии в работе, изменение нагрузки. |
SQLServer:SQL Statistics\SQL Compilations/sec | Количество компиляции планов запросов в секунду | SQL Server компилирует план запроса если его нет в кэше или он устарел. В динамике позволяет отслеживать аномалии для дальнейшего анализа. |
SQLServer:SQL Statistics\SQL Re-Compilations/sec | Количество перекомпиляций планов запросов в секунду | SQL Server компилирует план запроса если его нет в кэше или он устарел. В динамике позволяет отслеживать аномалии для дальнейшего анализа. |
SQLServer:Latches\Average Latch Wait Time (ms) | Среднее время ожидания на служебных блокировках СУБД | Позволяет определить узкие места в производительности системы Дополнительная информация. |
SQLServer:Locks(_Total)\Lock Timeouts (timeout > 0)/sec | Среднее количество таймаутов ожидания на блокировках в секунду | Позволяет отслеживать таймауты на блокировках. При этом будут исключаться пробные блокировки с нулевым временем ожидания. |
SQLServer:Locks(_Total)\Average Wait Time (ms) | Среднее время ожидания на блокировках | Позволяет отслеживать влияние блокировок на производительность. |
SQLServer:Locks(_Total)\Number of Deadlocks/sec | Среднее количество взаимоблокировок в секунду | Позволяет отслеживать взаимоблокировки в системе для дальнейшего анализа. |
SQLServer:Transactions\Longest Transaction Running Time | Время самой длинной транзакции | Показывает время самой длинной транзакции на текущий момент. Работает только для read committed snapshot isolation level. Позволяет определять наличие длинных транзакций, которые потенциально могут влиять на производительность. |
SQLServer:Transactions\Transactions | Количество активных транзакций | Позволяет отслеживать общую пропускную способность системы и нагрузку на нее с течением времени. |
Два основных шаблона:
Для использования необходимо на этапе создания группы сборщика данных выбрать "Создать из шаблона" с последущюим указанием файла шаблона. Обязательно проверьте все настроенные пути сохранения данных счетчиков.