Монитор производительности сервер бд где настраивать

Обновлено: 18.05.2024

Компоненты, устанавливаемые по умолчанию, называют набором системы сбора данных, а именно:

  1. Использование дискового пространства. Сбор данных об использовании дискового пространства в базе данных.
  2. Статистика запросов. Отчеты о статистики запросов, индивидуальный текст запроса, планы запросов, и конкретных запросов.
  3. Мониторинг активности сервера. Собирает статистику использования ресурсов и производительности данных с сервера, операционной системы и SQL сервера.

Преимущества:

  1. Простота конфигурации. Конфигурация требует всего несколько кликов.
  2. Простота отслеживания событий, тестирования и мониторинга общего состояния системы.
  3. Централизованное хранение данных.
  4. Низкая нагрузка на центральный процессор.
  5. Адаптивность. Включена возможность создания собственной системы сбора данных

Ограничения:

  1. Совместимо только с версией SQL Server 2008.
  2. Система сбора данных не отображает информацию о дисковом пространстве в режиме онлайн

Этапы подготовки:

READ Администрирование управление на основе политик - полная модель восстановления

Настройка производительности Data Collector

Во-первых, создадим хранилище данных управления

01

02

Теперь, давайте настроим хранилище данных управления.

03

04

Указываем имя базы данных и место расположения

05

Присваиваем пользователю роль mdw_admin.

06

07

08

09

10

На скриншоте ниже видно, какие данные о производительности сохраняются в локальном кэше до загрузки данных.

11

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

12

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

13

История статистики запросов.

14

Этот отчет отображает ресурсоемкие запросы по категориям.

15

16

Вы можете нажать на любой запрос и получить подробную информацию по данному запросу.

17

Внизу расположена подробная информация по выбранному запросу.

Также здесь приводятся рекомендации, например, добавить индексы.

19

20

Последний, третий отчет, отображает информацию о производительности сервера, операционной системы и SQL Server.

Курс предназначен для базовой подготовки администраторов сайтов, созданных на "1С-Битрикс: Управление сайтом". Изучив курс, вы освоите основные методы администрирования системы, а также пополните знания по темам, изученным в курсе Контент-менеджер.

Если вы добросовестно изучите курс, то научитесь:

  • управлять доступом к системе, сайтами, пользователями, группами пользователей;
  • работать с инструментами системы;
  • использовать возможности интерфейса по управлению системой;
  • работать с модулями "1С-Битрикс: Управление сайтом", связанными с оптимизацией и безопасностью работы сайта;
  • выполнять работу по конфигурированию веб-системы для оптимальной работы.

Если вам предстоит самостоятельная установка системы или перенос сайта на хостинг, то без курса Установка и настройка Курс Установка и настройка предназначен для специалистов устанавливающих "1С-Битрикс: Управление сайтом" или "Битрикс24 в коробке".

Начальные требования

Необходимый минимум знаний для изучения курса:

  • базовые навыки компьютерной грамотности и навыков работы с ОС Windows;
  • базовые знания о WWW и организации доступа к веб-серверу;
  • знание системы в рамках курса Контент-менеджер Мы считаем, что вы этот курс уже прошли и знаете многое о Битриксе. Поэтому подсказок во всплывающих окнах будет намного меньше, чем в курсе Контент-менеджер. , чтобы банально не путаться в интерфейсе.

Неплохо было бы иметь базовые навыки установки и администрирования *nix-систем.

У нас часто спрашивают, сколько нужно заплатить

Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов - ничего из этого оплачивать не нужно.

Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.

Баллы опыта

В конце каждого урока есть кнопка Прочитано! . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:


уроке.

Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат - это если общее число набранных Вами баллов отличается от максимального на 1-2%.

Тесты и сертификат

После изучения курса пройдите тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение вы увидите результат обучения и там же - ваш сертификат в формате PDF.

Иконка успешно сданного вами курса отображается в вашем профиле на Freelance, если вы укажите ссылку на ваш профиль на сайте компании 1С-Битрикс.

Комментарии к урокам

Для преподавания оффлайн

Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 3 дня (24 академических часа).

Если нет интернета

iPhone:
FBReader
CoolReader
iBook
Bookmate

Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome

iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла - от 01.10.2021.

Как проходить учебный курс?

В первой части статьи мы опишем основные шаги по подключению счетчиков и настройке загрузки данных в базу мониторинга производительности. Если же Вам лень читать и Вы любите смотреть и слушать, то можно перейти к видео-уроку и посмотреть небольшой 5 минутный ролик по выполнению необходимой последовательности действий и повторить при необходимости. Все процедуры просты и максимально прозрачны. Поехали!

1. Подключим счетчики производительности сервера под ОС windows.

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

а) Открываем командную строку и вводим "perfmon.msc".

б) Выбираем добавить и переходим на вкладку.

в) Добавляем счетчики согласно таблицы ниже.

г) В настройках указываем формат файла ".csv"

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

Внимание! Пользователь под которым будут запускаться счетчики должен обладать необходимыми правами и входить в группу "Perfomance monitor group".

Таблицу с основными на наш взгляд счетчиками приведем таблицу в этой статье. Если нужно больше информации, то к вашим услугам всемирная сеть и возможно кто-то из комментаторов к статье приведет какие-либо предложения и факты.

2. Подключим счетчики производительности SQL сервера под ОС windows.

Если у вас SQL и службы 1С стоят на одном сервере, то вы можете совместить настройки логов в один проект или в общую папку.

Операции те же самые, что и в п.1. + добавляем таблицу для счетчиков SQL сервера.

Таблица счетчиков для SQL сервера (синонимы по русски иногда это нечто).

Показатель Группа Синоним Описание Значение
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 Latches\Среднее время ожидания кратковременной блокировки Среднее время ожидания (мс) для запросов кратковременной блокировки Стремящееся к 0 мс
Average Wait Time (ms) Locks Locks\Время ожидания блокировки (мс) Среднее время ожидания (в миллисекундах) для всех ждавших запросов блокировки Стремящееся к 0 мс
Lock Waits/sec Locks Locks\Запросов блокировок в секунду Количество запросов блокировки, которые не были выполнены немедленно и ожидали предоставления блокировки Стремящееся к 0
Lock Timeouts/sec Locks Locks\Превышений времени ожидания блокировки в секунду Количество запросов блокировки, время ожидания которых истекло, включая запросы блокировок NOWAIT. Стремящееся к 0
Number of Deadlocks/sec Locks Locks\Количество взаимоблокировок в секунду Количество запросов блокировки, приведших к взаимоблокировкам Стремящееся к 0
Cache Hit Ratio Plan Cache Plan Cache\Коэффициент попадания в кэш Соотношение между попаданиями в кэш и обращениями к кэшу Стремящееся к 100%
Longest Transaction Running Time Transactions Transactions\Время выполнения самой длинной транзакции Наиболее продолжительное время выполнения какой-либо транзакции в секундах Для OLTP систем не должно быть высоким
Transactions Transactions Transactions\Транзакции Общее количество активных транзакций.

3. Настроим планировщик заданий для автоматического запуска счетчиков.

а) Открываем командную строку и вводим "taskschd.msc"

б) Переходим по следующему пути: "Microsoft\Windows\PLA"

в) Добавляем задание. Указываем способ запуска "при старте системы", запускать при ошибках и сохраняем.

4. Добавим задание загрузки данных в базу мониторинга.

а) Открываем базу мониторинга производительности

б) Переходим в подсистему "Анализ ТЖ" и открываем журнал "Замеры"

в) Добавляем новый замер и указываем:
- путь к каталогу с логами счетчиков;
- тип "Perfomance monitor";
- загружать online и время работы регламентного задания;
- можем указать имя сервера - реквизит оборудование.

г) все готово и первые замеры скоро появятся в базе.


5. Анализируем результат операций.

Теперь просмотреть данные можно в журнале "События замера" в форме таблицы или графически АРМ "Графики Perfomance monitor".



Видео-урок.

В этом видео-уроке мы с вами проведем необходимые настройки и посмотрим результаты на примере искусственных ситуаций.

date

23.03.2020

directory

SQL Server

comments

комментария 3

В этой статье мы рассмотрим популярные инструменты, T-SQL запросы и скрипты для обнаружения и решения различных возможных проблем с производительностью SQL Server. Эта статья поможет вам разобраться, когда вашему SQL Server недостаточно ресурсов (памяти, CPU, IOPs дисков), найти блокировки, выявить медленные запросы. Посмотрим какие есть встроенные инструменты и бесплатные сторонние скрипты и утилиты для анализа состояния Microsoft SQL Server.

Инструменты для диагностики SQL Server

Если вы правильно диагностировали проблему, то половина работы уже сделана. Рассмотрим какие инструменты обычно используются системным администратором для диагностики различных проблем в SQL Server:

Обнаружение и решение проблем с производительностью SQL Server

Самой распространенной проблемой с которой сталкивается системный администратор, работающий с SQL Server, это жалобы пользователей на производительность запросов и самого сервера: “тормозит”, “долго выполняется запрос“, и так далее.

Прежде всего нужно убедиться, что серверу хватает ресурсов. Рассмотрим, как в SQL Server быстро проанализировать использование памяти, CPU, дисков и наличие блокировок.

Анализ использования оперативной памяти SQL Server

Для начала нужно определить сколько памяти доступно SQL Server. Для этого запустите SSMS (SQL Server Management Studio), зайдите на сервер и зайдите в свойства сервера (ПКМ по названию сервера в Обозревателе объектов).

настройка использования оперативной памяти в sql server

Сам по себе доступный объём RAM вам ничего не скажет. Нужно сравнить это число с используемой памятью в Диспетчере Задач и самим движком SQL Server с помощью DMV.

В Диспетчере задач, во вкладке Подробности, найдите sqlservr.exe и посмотрите сколько оперативной памяти использует этот процесс.

  • Если на сервере, например, 128 GB оперативной памяти, а процесс sqlservr.exe использует 60 GB и ограничений по RAM у SQL Server нет, то оперативной памяти вам хватает.
  • Если SQL Server использует 80-90% RAM от заданной или максимальной, то в таком случае нужно смотреть DMV. Имейте в виду, что sqlservr.exe не сможет использовать всю оперативную память. Если на сервере 128 GB, то sqlservr.exe может использовать только 80-90% (100-110 GB), так как остальная память резервируется для операционной системы.

Имейте в виду, что процесс SQL Server’a не отдаёт оперативную память обратно в систему. Например, ваш SQL Server обычно использует 20 GB памяти, но при месячном отчете он увеличивает потребление до 100 GB, и даже когда вычисление отчета закончится и сервер будет работать в прежнем режиме, процесс SQL Server’a всё равно будет использовать 100 GB до перезагрузки службы.

Даже если вы уверены, что оперативной памяти серверу хватает, не будет лишним точно знать объём потребляемой RAM.

Узнать реальное использование RAM можно с помощью Dynamic Management Views. DMV это административные вьюверы (представления). С помощью DMV можно диагностировать практически любую проблему в SQL Server.

Посмотрим sys.dm_os_sys_memory, для удобства используем запрос:

Рассмотрим каждый выводимый параметр:

Все эти данные полезны, если вы хотите точно определить сколько ваш SQL Server потребляет RAM. Чаще всего это используют, если есть подозрения что для экземпляра выделено слишком много оперативной памяти.

Если Вам нужно убедиться, что серверу хватает RAM, вы можете смотреть только на поля system_low_memory_signal_state, system_high_memory_signal_state и system_memory_state_desc. Если system_low_memory_signal_state = 1, то серверу явно не хватает оперативной памяти.

Загрузка процессора в SQL Server

Нагрузку на процессор определить проще, так как это можно сделать в Диспетчере задач. Чтобы узнать текущую нагрузку на процессор, найдите в Диспетчере задач процесс sqlservr.exe

sqlservr.exe использование CPU

Если вы хотите узнать нагрузку за прошедшее время, можно воспользоваться запросом:

Не забудьте поменять @lastNMin на нужное вам число в минутах.

CPU_Utilization запрос по загрузке CPU на sql server

В результате мы получим поминутную статистику использования процессора.

Анализ нагрузки на диск SQL Server

sql server анализ нарузки на диски

Посмотрим на загрузку дисков в операционной системе. Для этого запустите resmon.exe.

Нам нужна вкладка Disk. В секции Disk Activity отображаются файлы, к которым идёт обращение, и их скорость read/write на текущий момент. Отфильтруйте эту секцию по Total (кликните на Total). На самом верху будут файлы, которые на данный момент максимально используют диск. В случае с SQL Server это может быть полезно чтобы определить какая база больше всего нагружает диск на текущий момент.

В секции Storage отображаются все диски в системе. В этой секции нам нужны 2 параметра – Active Time и Disk Queue. Active Time в процентах отображает нагрузку на диск, то есть если вы видите на диске C:\ Active Time равный 90, это значит что ресурс чтения/записи диска на текущий момент используется на 90%. Столбец Disk Queue отображает очередь обращений к диску, и если значение очереди не равно нулю, то диск загружен на 100% и не справляется с нагрузкой. Так же если Active Time близок к 100, то диск используется практически на пределе своих возможностей по скорости.

Просмотр блокировок в SQL Server

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

Блокировки можно посмотреть через Activity Monitor в SSMS, но мы воспользуемся T-SQL, так как этот вариант более удобен и нагляден. Выполняем запрос:

Этот запрос возвращает список блокировок в виде дерева. Это удобно в работе, так как обычно, если возникает одна блокировка, она провоцирует за собой другие. Аналогично в Activity Monitor или в выводе sp_who2 можно увидеть поле “Blocked By”.

Если запрос ничего не вернул, то блокировок нет.

Если запрос вернул какие-то данные, то нужно проанализировать цепочку.

запрос для поиска блокировок в sql server

HEAD значит что этот запрос является причиной всех остальных блокировок ниже по дереву. 64 – это идентификатор процесса (SPID). После этого пишется тело запроса, который вызвал блокировку. Если у вас хватает ресурсов сервера, то скорее всего дело в самом запросе и во взаимном обращении к каким-то объектам. Для того чтобы сказать точнее, нужно анализировать конкретный запрос, который вызвал блокировку.

Политики SQL Server

Даже когда у вас всё работает хорошо и жалоб нет, на самом деле может быть много проблем, которые всплывут позже. Для этого в SQL Server есть политики.

Политика в SQL Server это, грубо говоря, проверка правила на соответствие заданному значению. Например, с помощью политик вы можете убедиться, что на всех базах на сервере выключен Auto Shrink. Рассмотрим пример импорта и выполнения политики

В SSMS, подключитесь к серверу, на котором хотите выполнять политики (Management -> раздел Policy Management).

политики sql server

sql server non-comliant policy

Импортируем файл Database Auto Shrink.xml. Жмём Evaluate

политики sql server - расширенный статус

На экземпляре node1 две базы данных, test1 и test2. На test2 включен autoshrink. Посмотрим детали.

Политика определила включенный параметр AutoShrink, в описании обычно пишется объяснения к правилам. В данном случае дается объяснение почему auto shrink лучше отключать.

Политики могут выполняться либо по расписанию, либо по требованию (разово). Результаты выполнения политики можно посмотреть в журнале политик.

При установке SQL Server нужно выбирать только используемые компоненты СУБД, и указывать настройки в соответствии с конфигурацией “железа” вашего сервера. Всегда следите чтобы серверу хватало ресурсов, и чтобы на сервере не было блокировок

Самым мощным инструментом для диагностики SQL Server является T-SQL и DMV. Так же рекомендуется построить круглосуточный мониторинг над SQL Server и над обслуживающей его инфраструктурой для обнаружения всех возможных проблем.

Читайте также: