Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопросы про системную вьюху. записи DISCARD ALL / 7 сообщений из 7, страница 1 из 1
29.06.2016, 10:28
    #39264471
fduch f.f.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про системную вьюху. записи DISCARD ALL
использую системную вьюху pg_stat_activity

в столбце где отображаются текты запросов в некоторых случаях вижу DISCARD ALL
не могу монять что это обозначает. В документации подробного обьяснения не нашел. понял только что вроде связано с пулом подключений
подскажите плиз, насколько это плохо и что нужно делать что бы исправить
...
Рейтинг: 0 / 0
29.06.2016, 10:33
    #39264477
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про системную вьюху. записи DISCARD ALL
fduch f.f.использую системную вьюху pg_stat_activity

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

1)а чем он вам мешает?
2)просто установленное соединение которое ничего не делает оно конечно не очень радует но ничего фатального в этом нет пока их не сотни
3)discard all легкая и быстрая операция (относительно конечно)
4)вы на колонку state то смотрите в выводе запроса? там 100% у вас состояние idle (и никакого запроса в данный момент не выполняется)
5)это от pgbouncer скорее всего, в конфиге стоит server_reset_query=DISCARD ALL что зачастую является лишним (и для transaction/statement pooling не рекомендуется к использованию)

В общем основная проблема - вы неверно трактуете вывод pg_stat_activity думая что query этот тот запрос который сейчас выполняется, а это не так если state!='active'.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
29.06.2016, 10:38
    #39264483
fduch f.f.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про системную вьюху. записи DISCARD ALL
Maxim Bogukfduch f.f.использую системную вьюху pg_stat_activity

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

1)а чем он вам мешает?
2)просто установленное соединение которое ничего не делает оно конечно не очень радует но ничего фатального в этом нет пока их не сотни
3)discard all легкая и быстрая операция (относительно конечно)
4)вы на колонку state то смотрите в выводе запроса? там 100% у вас состояние idle (и никакого запроса в данный момент не выполняется)
5)это от pgbouncer скорее всего, в конфиге стоит server_reset_query=DISCARD ALL что зачастую является лишним (и для transaction/statement pooling не рекомендуется к использованию)

В общем основная проблема - вы неверно трактуете вывод pg_stat_activity думая что query этот тот запрос который сейчас выполняется, а это не так если state!='active'.

--
Maxim Boguk
www.postgresql-consulting.ru

Спасибо за ответ!

вопрос появился по следующей причине
к серверу приходит много коротких запросов
иногда возникают ситуации когда эти запросы отваливаются по таймауту
причем во вьюхе pg_stat_activity я не виду заблокированных или долгих active запросов
в то же время есть десятки запросов idle и некоторые из них DISCARD ALL
пытаюсь выяснить причину таймаютов
подозреваю что это из-за наличия незакрытых подключений
...
Рейтинг: 0 / 0
29.06.2016, 10:48
    #39264488
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про системную вьюху. записи DISCARD ALL
fduch f.f.Maxim Bogukпропущено...


1)а чем он вам мешает?
2)просто установленное соединение которое ничего не делает оно конечно не очень радует но ничего фатального в этом нет пока их не сотни
3)discard all легкая и быстрая операция (относительно конечно)
4)вы на колонку state то смотрите в выводе запроса? там 100% у вас состояние idle (и никакого запроса в данный момент не выполняется)
5)это от pgbouncer скорее всего, в конфиге стоит server_reset_query=DISCARD ALL что зачастую является лишним (и для transaction/statement pooling не рекомендуется к использованию)

В общем основная проблема - вы неверно трактуете вывод pg_stat_activity думая что query этот тот запрос который сейчас выполняется, а это не так если state!='active'.

--
Maxim Boguk
www.postgresql-consulting.ru

Спасибо за ответ!

вопрос появился по следующей причине
к серверу приходит много коротких запросов
иногда возникают ситуации когда эти запросы отваливаются по таймауту
причем во вьюхе pg_stat_activity я не виду заблокированных или долгих active запросов
в то же время есть десятки запросов idle и некоторые из них DISCARD ALL
пытаюсь выяснить причину таймаютов
подозреваю что это из-за наличия незакрытых подключений

Если у вас по пути pgbouncer возможно стоит внутри его статистики смотреть.
Может у вас весь пул занят idle in transaction (а это не тоже самое что idle которые можно reuse).

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
29.06.2016, 11:35
    #39264527
fduch f.f.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про системную вьюху. записи DISCARD ALL
к коду приложения нет доступа, но pgbouncer точно не используется
состояние именно idle

может ли такое быть что эти idle подключения мешают созданию новых подключений и от этого таймауты?
...
Рейтинг: 0 / 0
29.06.2016, 11:49
    #39264552
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про системную вьюху. записи DISCARD ALL
fduch f.f.к коду приложения нет доступа, но pgbouncer точно не используется
состояние именно idle

может ли такое быть что эти idle подключения мешают созданию новых подключений и от этого таймауты?

Могут мешать минимум 2 методами:
Вариант 1 - заканчивается лимит коннектов к базе из за этих idle соединений (это должно быть в логе базы видно)
Вариант 2 - заканчивается какой то внутренний пул коннектов в приложении

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
21.07.2016, 18:10
    #39278172
aorashi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про системную вьюху. записи DISCARD ALL
DISCARD ALL
в контексте балансировщиков это возврат соединения в пул после выполнения запроса
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопросы про системную вьюху. записи DISCARD ALL / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]