Pull to refresh

Comments 13

В идеале интересно узнать… почему именно эти метрики были выбраны для мониторинга? Хотя если не придираться, то спасибо… было приятно почитать :)
Спасибо)
Касательно метрик — page life (cple) однозначно нужен, по нему определяем, сколько страницы живут в буфферном пуле. Checkpoint pages/sec — позволит определить, нагружены ли диски из-за маленького плуа/больших объемов считываемой информации или же из-за того, что на диск постоянно сливаются «грязные страницы» (много изменяемых данных). Batch requests — позволит определить, в момент просадки cple не было ли повышенного количества запросов. С ним же смотрим User Connections. Может просто куча пользователей «ломанулась» одновременно. Granted Workspace Memory — покажет, не отъедается ли часть буфферного пула под память для запросов (hash-операции, сортировка). Такие запросы нужно отлавивать и, возможно, тюнить. Ну а касательно локов — конкретно для этой задачи этот счетчик не очень нужен, но вообщедействительно необходим. Попрой повзоляет сразу понять, почему пользователи не могут/могли попасть в систему или проделать ту или иную операцию, почему ночной реиндекс не завершился вовремя итд.
Естественно, это не все счетчики, что я собирал. Тут для примера привел.
Так бы я добавил еще Memory Pages/sec — использование файла подкачки, Memory Available Bytes — доступная память, если её мало ОС может делать HardTrim памяти сиквела или прочие неприятности, Full scans/sec — фулл сканы таблиц, если значения большие и коррелируют с нагрузкой на диски — искать планы в кэше, где встречается table или index scan.
Да много чего еще можно прикрутить)
Вроде есть встроенная тулза, которая позволяет в реальном времени просматривать такие же графики?
Это я к тому, что у MS SQL уже есть достаточно мощные инструменты для профайлинга.
Какие именно инструменты Вы имеете ввиду? Из того что я знаю можно заюзать только SQL Monitor от RedGate либо смотреть в сторону монстра от SQL Sentry. В любом случае все они платные.
Я имею ввиду вот эти инструменты (в разделе Select the Appropriate Tool):
https://msdn.microsoft.com/en-us/library/hh213686.aspx
забавно, что там не указаны data collection и utility control point, все остальные инструменты не позволяют смореть графики в реальном времени + на момент времени в прошлом.
такие метрики можно посмотреть только perf mon'ом в ОС. Изначально я планировал использовать Data Collection (кстати, например, Cache Page Life Expectancy он не собирает), но как обычно все оказалось не так просто. Коллектор Server Activity падал с неизвестной ошибкой и гугл вывел меня на страницу Microsoft Connect, где было написано, что это известный баг 2012го сиквела. Якобы он исправлен в одном из последних обновлений, но чтобы поставить обновления бюрократии нужно еще больше, чем чтобы добавить метрики в Zabbix. Activity Monitor не собирает историческую базу, т.е. с помощью него не узнаешь, что было ночью.
Ждать и смотреть, как «горит» дисковый массив. Или…

Запустить perfmon
перфмон не собирет данные по использованию буфферного пула базами, например. метрики производительности — да, можно.
Можно использовать десять доступных счётчиков https://msdn.microsoft.com/en-us/library/ms187480(v=sql.110).aspx, они доступны в perfmon'е
Не знал про такую возможность, спасибо!
Но всё равно смотреть конкретно использование буфферного пула каждой БД было бы не удобно/не возможно — на сервере несколько десятков баз.
UFO just landed and posted this here
Sign up to leave a comment.

Articles