172 похожих чатов

Добрый вечер, коллеги! ) Столкнулся с интересной ситуацией, в логах PG

вижу медленный запрос 2-3 секунды, от приклада на Java. Беру этот запрос и выполняю, под тем же пользователем, в консоли, отрабатывает за десятки миллисекунд. План запроса - нормальный, читает всего 36 буферов. ЦПУ и диски при этом не загружены, от слова - совсем. Версия PostgreSQL 13.2
Кто сталкивался с подобным, в какую сторону смотреть?

12 ответов

13 просмотров

сторону idle in transaction и в сторону настроек либы для джава в части какой тип запроса (подготовленный или обычный)

Sergei-Logvinenko Автор вопроса
Сергей Голод
сторону idle in transaction и в сторону настроек л...

idle in transaction нет, ни мониторинг не ловил, ни глазами не видел. Запрос обычный

Sergei Logvinenko
idle in transaction нет, ни мониторинг не ловил, н...

тогда включить auto explain и смотреть в логах план запроса

Sergei-Logvinenko Автор вопроса
Сергей Голод
тогда включить auto explain и смотреть в логах пла...

Решил использовать это, как крайний вариант. Но видимо, прейдется ( Спасибо

А можете этот бекенд опознать и попрофилировать?

может результат приложением медленно вычитывается ?

Denisio
может результат приложением медленно вычитывается ...

кстати да. у нас аппки на джаве троттлили получение данных от СУБД, потом разработчики поправили этот момент чтобы сразу все данные принять и запрос завершался быстро. Но пока шло получение - транзакция была открыта. Поэтому я и спрашивал - нет ли idle in trx

Недавно столкнулись с проблемй СХД под виртуалкой. иногда чтение могло становиться аномально длинным (даже для 1 страницы было примерно 3 секунды). Смогли точно определить только после получения настоящего эксплейна с IO таймингами

Sergei-Logvinenko Автор вопроса
Denisio
может результат приложением медленно вычитывается ...

Была тая мысль, но у таких запросов wait_event пустой. Получается, что они ничего не ждут (

Сергей Голод
кстати да. у нас аппки на джаве троттлили получени...

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

Sergei Logvinenko
Была тая мысль, но у таких запросов wait_event пус...

а есть возможность выполнить запрос в консоли на ещё не запрошенных данных - запрос параметризованный? Подобрать параметры чтобы они захватывали ещё ни разу не прочитанных данных и отсутствующих в кэше PG

Sergei-Logvinenko Автор вопроса
Denisio
а есть возможность выполнить запрос в консоли на е...

Да, пробовал. Время на чтение с диска ничтожное, ~13 мс

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта