Просмотр данных о производительности




Счетчики монитора производительности Windows для SQL Server

(Оригинальная статья: https://www.mssqltips.com/sqlservertip/6945/windows-performance-monitor-counters-for-sql-server/)

Перевод: Пётр Окунев, https://vk.com/peter1st

Проблема

Как получить данные и интерпретировать результаты некоторых часто используемых счетчиков монитора производительности, связанных с SQL Server?

Решение

Мы смотрели, как создать и запустить Perfmon Collector Set для сбора информации о производительности в режиме реального времени. Теперь мы рассмотрим некоторые выходные данные, показатели и значения, на которые следует обращать внимание при устранении неполадок.

Объекты / Счетчики

В следующей таблице приведен список объектов Perfmon и счетчиков производительности, которые обычно используются для проверки производительности SQL Server, а также их описания и руководство по ожидаемым значениям.

Perfmon Объект Perfmon Счетчик Описание Счетчика Что Искать
Memory Available MBytes Доступные мегабайты — это объем физической памяти в мегабайтах, доступный для немедленного выделения процессу или для использования системой. Должно оставаться довольно постоянным и, вероятно, не опускаться ниже 4096 МБ или около того. Может указывать, что «максимальная память сервера» оставлена по умолчанию, приложения, отличные от SQL Server, работают на сервере.
Processor % Processor Time % процессорного времени — это процент истекшего времени, которое процессор (ЦП) тратит на выполнение потока, отличного от простоя. % процессорного времени будет сильно различаться на активном сервере. Всплески до 100% не редкость, но если оно превышает 70% или около того в течение какого-либо периода времени, ваши пользователи, вероятно, испытывают проблемы с производительностью. Причиной может быть отсутствие или промахи индексов в запрашиваемой таблице.
SQLServer:Access Methods Forwarded Records/sec Количество записей, полученных с помощью перенаправленных указателей записей В идеале близко к 0.
SQLServer:Access Methods Full scans/sec Количество неограниченных полных сканирований. Это может быть сканирование базовой таблицы или полное сканирование индекса. Предпочтительно менее 1.
SQLServer:Access Methods Page Splits / Sec Количество разбиений страниц в секунду, возникающих в результате переполнения страниц индекса. Должно быть меньше 20% всех Batch Requests/Sec.
SQLServer:Buffer Manager Buffer Cache hit ratio Процент страниц, которые были найдены в пуле буферов без чтения с диска Вы хотели бы, чтобы это значение было постоянным или близким к 100%. Меньше может указывать на нехватку памяти на сервере или выделенную для SQL Server.
SQLServer:Buffer Manager Checkpoint Pages / Sec Количество страниц, сброшенных контрольной точкой или другими операциями, требующими сброса всех грязных страниц. Ориентир для сравнения.
SQLServer:Buffer Manager Page life expectancy Количество секунд, в течение которых страница будет оставаться в пуле буферов без ссылок. Эмпирическое правило: это не должно опускаться ниже 300 миллисекунд.
SQLServer:General Statistics User Connections Количество пользователей, подключенных к системе. Используется в качестве эталонного значения, чтобы увидеть, увеличивается ли среднее число со временем, что указывает на большую активность.
SQLServer:Locks Average Wait Time (ms) Среднее время ожидания (в миллисекундах) для каждого запроса на блокировку, который привел к ожиданию. В идеале должно быть 0.
SQLServer:Locks Lock Waits / Sec Количество запросов на блокировку, которые не могли быть удовлетворены немедленно и требовали от вызывающего объекта ожидания перед предоставлением блокировки. В идеале должно быть 0.
SQLServer:Memory Manager Memory Grants Pending Текущее количество процессов, ожидающих предоставления памяти рабочей области В идеале должно быть 0.
SQLServer:Memory Manager Target Server Memory (KB) Идеальный объем памяти, который сервер готов потреблять Соотношение: Общая память сервера (КБ) / память целевого сервера (КБ) должна быть приблизительно равна 1.
SQLServer:Memory Manager Total Server Memory (KB) Общий объем динамической памяти, потребляемой сервером в данный момент. Соотношение: Общая память сервера (КБ) / память целевого сервера (КБ) должна быть приблизительно равна 1.
SQLServer:SQL Statistics Batch Requests/Sec Количество пакетных запросов SQL, полученных сервером Бенчмарк активности сервера.
SQLServer:SQL Statistics SQL Compilations/Sec Количество компиляций SQL Должен быть на уровне 10% или меньше от общего Batch Requests/sec.
SQLServer:SQL Statistics SQL Re-Compilations/Sec Количество перекомпиляций SQL Должен быть на уровне 10% или меньше от общего Batch Requests/sec.

Просмотр данных о производительности

Переходим к нашему ранее созданному и запущенному Collector Set.

  1. Щелчок ПКМ
  2. Latest Report

Здесь мы видим данные, собранные в определенный день с 11:45 до 12:45. Верхняя часть экрана представляет собой графическое представление каждого счетчика. Прямо под ним находятся значения для выбранного счетчика. А внизу мы выбираем Counters.

Пришло время рассмотреть два примера.

Пример #1

Здесь мы сняли все флажки Show, кроме % Processor Time чтобы показать более чистое графическое представление. Глядя на числа внизу, мы видим, что минимум был 0%, максимум 55,746%, а средний 0,289%. Глядя на график, мы подтверждаем цифры, и, как мы видим, около 12:35 был очень короткий всплеск, но в остальном он был низким.

Пример #2

Обратимся к таблице Perfmon Object / Counter для следующего примера и мы увидим, что для того, чтобы выяснить, является ли SQL Compilations/Sec и SQL Re-Compilations/Sec ниже порога, необходимого для получения значения Batch Requests/sec.

  1. Оставим только 3 Счетчика в запросе
  2. Щелчок ПКМ в области Counters
  3. Выберем каждый из 3 Счетчиков индивидуально
  4. Выберем масштаб, который соответствует линии в области экрана в раскрывающемся списке для Batch Requests/sec и подходит к SQL Compilations/Sec и SQL Re-Compilations/Sec
  5. OK

Глядя на график, мы видим, что Batch Requests/Sec единственный хорошо видимый счетчик. SQL Compilations/Sec и SQL Re-Compilations/Sec едва видны на дне. На глаз это указывает, что они оба значительно ниже порога 10%.

Для подтверждения выберите Average Batch Requests/sec и это 0.065. 10% от 0.065 будет 0.0065. Выберите SQL Compilations/Sec и среднее 0.001. Выберите SQL Re-Compilations/Sec и среднее 0.00. оба этих значения меньше 0.0065, так что мы в рамках.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-07-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: