Монитор блокировок СУБД, версия 1.0.6

0. Олег Николаев (o.nikolaev) 190 27.04.14 11:19 Сейчас в теме
Удобный и простой инструмент для администратора и программиста 1С. Отображаются блокировки устанавливаемые СУБД Microsoft SQL Server при выполнении операций в информационной базе. Позволяет быстро выявить источник проблемы ожиданий на блокировках. В отличие от 1С:ЦУП очень простой в установке и настройке. Все данные для диагностики отображаются сразу.

Предоставляется бесплатная техническая поддержка в течение 6 месяцев.

Перейти к публикации

Комментарии
1. Александр Тарасюк (Aletar) 23.05.14 12:47 Сейчас в теме
Скажите, пожалуйста, а код платной обработки открыт?
2. Олег Николаев (o.nikolaev) 190 24.05.14 20:58 Сейчас в теме
(1) Код закрыт. По вопросам доработки - обращайтесь, сделаем все что потребуется.
3. Антон Стеклов (asved.ru) 33 04.06.14 05:47 Сейчас в теме
На каких источниках информации основан сбор данных? Полагаю, это вывод sp_lock, сопоставленный с выводом ПолучитьСтруктуруИнформационнойБазы()?

Практическая ценность нулевая:
1) Управляемые блокировки не видно
2) Информации о порядке наложения блокировок нет
3) Информации о контексте, вызвавшем наложение блокировки, нет.

Таким образом, как
Это поможет понять какие действия с базой необходимо провести: исправить код программы, изменить запросы выполняемые в транзакции, или добавить индексы на таблицы которые являются источниками данных для большого отчета.
- совершенно непонятно.
spenser123; RomanRomans; +2 Ответить 1
4. Олег Николаев (o.nikolaev) 190 05.06.14 19:30 Сейчас в теме
(3) asved.ru,
Благодарю за комментарий.

Да, сбор данных основан именно на этих источниках информации.

1. Поясните пожалуйста, что вы имеете в виду под "управляемые блокировки не видно"?
2. Поясните пожалуйста, для каких целей вы используете информацию о порядке наложения блокировок?
3. Да, это так. Но мне, к сожалению, не удалось найти сведений об инструментах, которые позволяли бы получать такую информацию. Что-то есть у Softpoint, но, насколько я знаю, они вносили изменения в код платформы. Буду признателен, если расскажете о какой-либо утилите, которая предоставляет такую возможность.

По своему опыту могу сказать, что получение сведений о том, какой именно код выполняет блокировку базы, приходит постепенно, при последовательном знакомстве с рабочей базой и ее "болячками". Плюс использование транслятора текста запроса из SQL Profiler в язык запросов 1С.

Насчет "нулевой практической ценности" - эта маленькая утилита очень сильно облегчала жизнь при эксплуатации 600 Гб базы (200+ пользователей, 85 распределенных по всей стране).
5. Антон Стеклов (asved.ru) 33 06.06.14 05:02 Сейчас в теме
(4) o.nikolaev,

1) управляемые блокировки накладываются на уровне менеджера транзакционных блокировок платформы 1С, SQL о них ничего не знает.
2) как правило, для анализа дедлоков. Кроме того, смотреть на порядок наложения блокировок полезно при аудите кода на производительность, это проще, чем анализировать каждую строчку.
3) Технологический журнал, событие tlock и некоторые другие.

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

Для управляемых блокировок есть свойство context событий ТЖ, а для SQL - это отладчик плюс профайлер с событиями tsql/batch completed и lock asquired
Ну или, конечно же, ЦУП. Кстати, при таких базах его обычно покупают - дешевле выходит, чем вручную проблемы производительности разгребать.

Насчет нулевой практической ценности - при анализе дедлоков нам нужно знать порядок наложения, контекст и целесообразность (т.е. не является ли имеющаяся блокировка избыточной). При анализе ожиданий опять же нужен контекст и целесообразность.

Из Вашей обработки видно только нецелесообразность, и то только в случаях явной избыточности либо эскалации.
6. Олег Николаев (o.nikolaev) 190 06.06.14 13:45 Сейчас в теме
(5) asved.ru,
Антон, благодарю за интересные комментарии.

Немного уточню исходные данные, пользователи - 500+ чел. (коллеги поправили меня), база - сильно дописанная типовая УПП.

1) Нет, этой информации обработка не предоставляет
2) Возможно, мне следует уточнить описание обработки - утилита предназначена скорее для принятия решения "куда копать", типичный пример - поступает звонок о том что пользователь не может провести документ - выводится сообщение о конфликте блокировок. В этом случае с помощью этой обработки можно увидеть с чем и с кем именно конфликтует попытка записи в базу именного этого пользователя и, в дальнейшем уже пытаться вылечить проблему.
3) ЦУП был куплен, но к сожалению, после сбора статистики, хотя бы за 2 часа работы, он уходил в бесконечный анализ собранных данных и толку от него было немного.

Эта обработка - не панацея от проблем, связанных с вопросами производительности платформы 1С. Это небольшой, простой и, мягко говоря, недорогой (по сравнению с тем же ЦУП) инструмент, который в режиме он-лайн позволяет быстро и точно получить информацию, полезную для определения "болевого" места во время реальной эксплуатации базы, т.е. здесь и сейчас.
7. Антон Стеклов (asved.ru) 33 06.06.14 16:07 Сейчас в теме
(6) o.nikolaev, ЦУП не предназначен для постоянного сбора статистики. Минут 10-20 вполне достаточно для выявления ключевых проблем. И к ЦУПу нужен сертифицированный ЭТВ, иначе это выброшенные на ветер деньги.
8. Олег Николаев (o.nikolaev) 190 06.06.14 16:23 Сейчас в теме
(7) asved.ru,
Простите мое невежество, что такое ЭТВ?
Увы, но практика показала, что 10-20 минут никоим образом недостаточно.
9. Антон Стеклов (asved.ru) 33 06.06.14 17:09 Сейчас в теме
10. Олег Николаев (o.nikolaev) 190 21.04.17 16:46 Сейчас в теме
Ну, что же, из опыта боев, так сказать... Еще на одном проекте утилитка фактически спасла жизнь и здоровье руководителей проекта. После включения в структуру конфигурации здоровенного универсального блока нормальная работа пользователей (90+) была парализована. Было быстро выявлено 3 основных болевых места, произведены необходимые доработки.

Дальнейшая оптимизация пока выполняется с помощью сервисов Гилева. До дедлоков пока не дошли даже. Хватило экспресс-анализа на избыточность и на эскалации. Программка предназначена для мониторинга блокировок СУБД, с чем и справляется. Мониторинг управляемых блокировок в планах есть, но трудно сказать когда это будет сделано.

ЦУП штука отличная, но дорогая, а если впридачу еще и ЭТВ :-), скорее всего сумма будет весьма значительная. С помощью же инструмента за 1 500 руб. можно основные критические проблемы выловить "здесь и сейчас". Сложные случаи потребуют более мощных инструментов. Вот тут уже и можно купить (помолясь, настроить) и включить ЦУП на 10-20 мин. Для того чтобы выцепить избыточность и эскалации вовсе не нужно быть ЭТВ. Хотя определенный объем материала по блокировкам, изучить следует. В справке обработки есть ссылки на полезные, в этом плане, ресурсы.
Оставьте свое сообщение