вопрос по сервису долгих запросов

Обсуждаем проблемы долгих запросов

Модератор: Дмитрий Юхтимовский

вопрос по сервису долгих запросов

Сообщение nog2od » 18 сен 2021, 08:41

добрый день

В плане запроса стоимость измеряется в попугаях. ясно. А вот на списке тяжелых запросов столбец "Длительность" написано в секундах.
Для примера вот долгий запрос в динамическом списке. пишет, что 10 минут выполнялся. Но если в базу зайти под этим пользователем и попытаться воспроизвести - то запрос выполняется за пару секунд.

123.png
123.png (161.14 KiB) Просмотров: 686

есть еще аналогичный запрос - обращение к адресным сведениям. Да, у него какой-то "кривой" план, туда сюда гоняются 5 миллионов записей ради одной строки, но запрос абсолютно типовой, форма типовая не тронутая. И тоже, под пользователем если выполнить - 1 секунда. А показывает до 40 секунд и запрос в топе по весу.
Скриншот 18-09-2021 092152.png
Скриншот 18-09-2021 092152.png (40.93 KiB) Просмотров: 686


почему такая разница в длительности? подскажите пожалуйста куда копать
nog2od
 
Сообщений: 3
Зарегистрирован: 18 сен 2021, 08:16

Re: вопрос по сервису долгих запросов

Сообщение Дмитрий Юхтимовский » 18 сен 2021, 10:03

Например, запрос в "боевых" условиях может выполняться существенно медленнее из-за ожиданий на блокировках или на каких-то компонентах оборудования.
Дмитрий Юхтимовский
 
Сообщений: 724
Зарегистрирован: 11 фев 2013, 19:28
Откуда: gilev.ru

Re: вопрос по сервису долгих запросов

Сообщение nog2od » 20 сен 2021, 13:17

А о чем говорит ситуация, когда виновник блокировки = жертве блокировки?
erp.png
erp.png (89.44 KiB) Просмотров: 659
nog2od
 
Сообщений: 3
Зарегистрирован: 18 сен 2021, 08:16

Re: вопрос по сервису долгих запросов

Сообщение Дмитрий Юхтимовский » 21 сен 2021, 01:23

Зайдите в детализацию конкретного инцидента (в нижнем списке) и полюбуйтесь на сеансы виновника и жертвы.
Контекст мог быть один и тот же, а сеансы при этом разные, просто делали одинаковую операцию.
Дмитрий Юхтимовский
 
Сообщений: 724
Зарегистрирован: 11 фев 2013, 19:28
Откуда: gilev.ru

Re: вопрос по сервису долгих запросов

Сообщение Гилёв Вячеслав » 21 сен 2021, 10:02

смотрите на стоимость плана запроса, если она сильно отличается от времени фактического выполнения, то смотрите прежде всего на пики загруженности в этот момент
естественно надо заранее собирать все ключевые метрики, чтобы было куда посмотреть, и шаг сбора значений должен быть меньше длительности события на порядок
если очереди и длительный отклик от оборудования произошел, то надо перераспределять нагрузку как по железу так и по времени, оптимизировать другой код, который грузит железо, а также наращивать параллельность обработки и скорость самого железа
Гилёв Вячеслав
 
Сообщений: 2439
Зарегистрирован: 11 фев 2013, 15:40
Откуда: Россия, Москва

Re: вопрос по сервису долгих запросов

Сообщение Гилёв Вячеслав » 21 сен 2021, 10:06

когда два сеанса с одним и тем же кодом вступили в борьбу за наложение блокировки, это означает что надо уменьшать время транзакции, а также уменьшать область блокирования
читать только те данные которые будут записаны, лишнего не читать, в том числе не промахиваться мимо индекса
при наложении слишком большого количества строк может произойти автоматическое укрупнение блокировки, этого тоже надо избегать
избегать избыточной работы, это лучше чем ее оптимизировать
помните что универсальный код ни когда бывает отличным, цена за универсальность - снижение качества/скорости и т.п.
Гилёв Вячеслав
 
Сообщений: 2439
Зарегистрирован: 11 фев 2013, 15:40
Откуда: Россия, Москва

Re: вопрос по сервису долгих запросов

Сообщение nog2od » 21 сен 2021, 16:03

спасибо!
nog2od
 
Сообщений: 3
Зарегистрирован: 18 сен 2021, 08:16


Вернуться в Долгие запросы

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1