Мониторинг здоровья MS SQL Server

25.12.18

База данных - HighLoad оптимизация

Описывается очередной изобретенный "велосипед" для мониторинга здоровья MS SQL Server, который мы используем в glassdoor.com - втором крупнейшем в США сайте для соискателей работы.

Apache License 2.0

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Мониторинг здоровья MS SQL Server:
.zip 10,07Kb
12 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Думаю, что с понятием статистики ожиданий MS SQL Server знакомо большинство - SQL Server детально отслеживает потребление ресурсов и длительность выполнения внутренних процессов и позволяет пользователю получать кумулятивные значения со времени старта или сброса статистики. 
Хорошее описание есть здесь - https://habr.com/post/216309/

Наш веб-сайт целиком полагается на MS SQL Server, поэтому важно обеспечить бесперебойную работу и максимально быструю реакцию на возможные изменения. 

Во всех серьезных системах мониторинга баз данных есть возможность сбора статистики ожиданий и построение необходимой аналитики. По ряду причин мы не были удовлетворены тем что получаем "из коробки" (основная масса мониторинга\аналитии построена на https://www.appdynamics.com/), поэтому было решено реализовать собственный параллельный процесс сбора и визуализации данных.

Решение состоит из трех частей:
1) SQL Agent Task, которое непрерывно собирает накопленную статистику на каждом сервере. Каждые 15 секунд вычисляется разница между текущей и предыдущей статистикой и записывается в таблицу локальной базы данных (хранимая процедура [Monitor].[CollectWaitStatistics]).
2) Централизованный сервер для сбора статистики со всех серверов и отправки данных в ElasticSearch (три остальных файла).
3) ElasticSearch + Kibana для хранения, анализа и визуализации данных.

Хранимые процедуры и скрипт PowerShell можно скачать в приложенном архиве либо с гитхаба: 
https://github.com/alekseybochkov/publications/blob/master/sql-waits-monitoring/

Как эти данные используются?

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

HighLoad оптимизация Программист 1С v8.3 1C:ERP Бесплатно (free)

Приведем примеры использования различных в динамических списках и посмотрим, почему это плохо.

18.02.2025    5758    ivanov660    39    

59

HighLoad оптимизация Технологический журнал Системный администратор Программист Бесплатно (free)

Обсудим поиск и разбор причин длительных серверных вызовов CALL, SCALL.

24.06.2024    8348    ivanov660    13    

60

HighLoad оптимизация Программист 1С v8.3 Бесплатно (free)

Метод очень медленно работает, когда параметр приемник содержит намного меньше свойств, чем источник.

06.06.2024    13711    Evg-Lylyk    67    

45

HighLoad оптимизация Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    6632    spyke    29    

52

HighLoad оптимизация Программист 1С v8.3 Бесплатно (free)

Оказывается, в типовых конфигурациях 1С есть, что улучшить!

13.03.2024    9796    vasilev2015    22    

45

HighLoad оптимизация Инструменты администратора БД Системный администратор Программист 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих запросов на sql, ожиданий, конвертация запроса в 1С и рекомендации, где может тормозить.

5 стартмани

15.02.2024    16419    317    ZAOSTG    100    

123
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. capitan 2511 23.10.18 13:34 Сейчас в теме
А рабочий сервер такой сбор статистики не нагружает ?
2. Aleksey.Bochkov 3701 23.10.18 21:03 Сейчас в теме
(1) Существенной нагрузки этот процесс не создает.
Оставьте свое сообщение