[ Разбор вопросов ] Вопросы анализа взаимных блокировок и таймаутов в ЦУП

В рамках курса по ускорению и оптимизации систем на 1С слушатели знакомятся с разными инструментами анализа взаимных блокировок и ожиданий на избыточных блокировках. Каждый инструмент (ЦУП, облачные сервисы, SQL Profiler, технологический журнал) имеет свои достоинства и недостатки. На основе полученных знаний наши слушатели без труда смогут самостоятельно расследовать причины проблем производительности у себя на местах.
 

Вопрос №1: Почему при анализе ожиданий на блокировках в ЦУП используются функции Лев, Прав, Сред, Найти?

Изучаю ЦУП (Центр управления производительностью) и пытаюсь понять, как он анализирует ожидания на блокировках. Увидел, что в ЦУП есть специальный общий модуль “РегулярныеВыраженияКлиентСервер“, но если в него заглянуть, то можно понять, что разбор реализуется циклами и функциями: Лев, Прав, Сред, Найти. Как вы думаете, почему разработчики ЦУП не использовали, например, RegExp-библиотеку? Она ведь будет работать намного быстрее.

Ответ

Библиотека RegExp – проприетарная и у неё есть владельцы. Вполне естественно желание фирмы 1С меньше зависеть от других поставщиков. Кроме того использование этой библиотеки не позволит использовать ЦУП на ОС Linux. Думаю, это основные причины.

 

Вопрос №2: Возможно ли анализировать таймауты с помощью ЦУП?

Воспроизвел ожидания на блокировках СУБД. С помощью ЦУП (Центр управления производительностью) провел анализ. Если не было таймаута, то ожидание на блокировке СУБД прекрасно анализируется. Проанализировал код ЦУПа и понял, что анализируются события DBMSSQL. При этом событие DBMSSQL, у которого lkp=1, это жертва блокировки, а событие DBMSSQL, у которого есть свойство lkaid, это виновник блокировки. Данные события в ЦУПе сопоставляются по указанным свойствам между собой. ЦУП это хорошо видит и проводит анализ. Также эти свойства описываются на ИТС https://its.1c.ru/db/v8317doc#bookmark:adm:TI000000409. Но если данное ожидание перевести в таймаут, то ЦУП уже не может проанализировать данную проблему, так как события DBMSSQL уже не возникает. Как анализировать таймауты ЦУПом?

Логи

(нажмите, чтобы увеличить картинку)

Ответ

По анализу таймаутов в ЦУП есть оперативный показатель “Количество таймаутов”. Ну вот, пожалуй, и все. Ни контекста, ничего другого в помощь не предлагается. Все же главный плюс ЦУП – возможность анализа ожиданий на блокировках. Для анализа таймаутов не нужен такой тяжелый инструмент, достаточно анализа технологического журнала.

Комментарии / обсуждение (2):

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

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

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.