Поиск медленного запроса

1. GeraltSnow 172 17.02.21 11:11 Сейчас в теме
Есть несколько пользователей, у которых при действиях с задачами в документообороте(согласовать, не согласовать и т.д.) интерфейс зависает намертво в тонком и веб клиентах на время до 120 секунд. Причем такое происходит хаотически - можно согласовать сотню заявок без проблем, а можно на трех подряд словить зависание. В консоли кластера проблемные пользователи находятся в топе по времени вызовов СУБД, что наводит на мысли о плохом запросе.

Есть идеи, как отловить такой запрос? Запускать пользователя через конфигуратор с замером производительности хотелось бы в последнюю очередь.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. user633533_encantado 11 17.02.21 13:10 Сейчас в теме
(1) Ошибка может быть и в правах доступа. При доступе на уровне записей запросы могут долго выполняться.
6. Gilev.Vyacheslav 1911 18.02.21 18:21 Сейчас в теме
(1)
Есть идеи, как отловить такой запрос?
собираете данные в пределах часах http://www.gilev.ru/querytj/ до и после, затем ставите фильтр на период который вас интересует
если проблема была например с 12.03 до 12.06 поставьте в http://www.gilev.ru/querytj/ отбор с 12.00 до 12.15 и посмотрите какие запросы попали в этот период
правда если не будет совсем, то период надо увеличить на 15 минут до и после, если происходил какой то ну очень долгий запрос (чтобы начало и конец запроса попали в отбор)
2. andy_zhav 197 17.02.21 11:19 Сейчас в теме
(1) Через технологический журнал. Когда-то видел обработку для настройки ТЖ. Не могу сказать где
3. motiask 17.02.21 11:21 Сейчас в теме
Если хаотически, тогда можно попробовать APDEX.
https://infostart.ru/1c/articles/1006853/
5. ImHunter 315 18.02.21 08:25 Сейчас в теме
(1) Возможно, происходит синхронная попытка блокировки каких-то данных. Такое хорошо отлавливается ТЖ с общими критическими настройками, которые 1С рекомендует установить на всех БД.
7. GeraltSnow 172 19.02.21 14:01 Сейчас в теме
Запрос нашелся в модуле формы с задачами пользователя, он тянет из базы данные для обновления дерева задач.

Текст запроса


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

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

На мысль наводит страшный блок соединений и отборов в проблемной выборке. По рекомендациям 1С попробую проиндексировать соответствующие поля временных таблиц.
8. Gilev.Vyacheslav 1911 24.02.21 19:06 Сейчас в теме
(7) при отсуствии данных в кэше по таблице и сканировании таблицы целиком надо стараться наложить как можно раньше более строгий отбор ( пользователь это хорошо, но по нему может быть очень много записей, а фильтр по списку вообще никогда хорошим не был)
то что вы текст нашли хорошо, но над смотреть план запроса
9. buganov 200 02.03.21 08:59 Сейчас в теме
У Богачева есть видео, как с высокой вероятностью посмотреть, что делают пользователи в топе
На ютубе "Видео-кейс от Виктора Богачева. Как узнать, что делал зависший пользователь или фоновое задание 1С"

Опять же, надо понимать, что за СУБД, платформа. Если 8.2 без снепшота и запрос в транзакции, то включить снепшот в SSMS, если СУБД МС, конечно.

Если просто запрос, то выполнить его в консоли пару раз и оценить его выполнение на холодную и горячую. Так же, неплохо было бы план запроса посмотреть. Если проблема в запросе, а не в блокировках
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот