Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Как автоматически закрывать idle коннекты?  [new]
acidophilus
Member

Откуда:
Сообщений: 107
Есть ли какой-нибудь параметр, который за это отвечает?


Висят коннекты в idle по часу в огромном количестве
11 сен 17, 13:23    [20786569]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
acidophilus
Member

Откуда:
Сообщений: 107
версия 8.4

параметр statement_timeout недоступен.
11 сен 17, 13:31    [20786605]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
acidophilus
Member

Откуда:
Сообщений: 107
acidophilus
версия 8.4

параметр statement_timeout недоступен.



сори - доступен.

равен 0.
11 сен 17, 13:38    [20786652]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
acidophilus
Member

Откуда:
Сообщений: 107
но коннекты более часа обрываются.

т.е. ровно 60 мин и коннект обрывается.



Не пойму, что за параметр отвечает за это.
11 сен 17, 13:39    [20786663]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
acidophilus
Member

Откуда:
Сообщений: 107
Все 250 коннектов снова забились
11 сен 17, 13:53    [20786736]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
vyegorov
Member

Откуда: Рига
Сообщений: 1025
acidophilus,

Это проблема приложения же.
Всё что вы можете — сделать скрипт, который делает `pg_terminate_backend(pg_stat_statements.procpid)` для сессий, которые попадают под нужные условия. И повесить его в крон.
11 сен 17, 14:06    [20786790]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
ursido
Member

Откуда:
Сообщений: 320
acidophilus
но коннекты более часа обрываются.

т.е. ровно 60 мин и коннект обрывается.



Не пойму, что за параметр отвечает за это.


У Вас pgbouncer стоит?
11 сен 17, 14:42    [20786966]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
acidophilus
Member

Откуда:
Сообщений: 107
ursido
acidophilus
но коннекты более часа обрываются.

т.е. ровно 60 мин и коннект обрывается.



Не пойму, что за параметр отвечает за это.


У Вас pgbouncer стоит?


нет, он не ипользуется, коннекты прямые.
11 сен 17, 14:44    [20786974]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
acidophilus
Member

Откуда:
Сообщений: 107
Правельно ли я понял что установка statement_timeout задаст принудительный обрыв коннектов, даже если они выполняются?
11 сен 17, 15:09    [20787110]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
Melkij
Member

Откуда: Санкт-Петербург
Сообщений: 342
acidophilus,

принудительную отмену выполняющегося запроса. Само соединение statement_timeout не закроет.
11 сен 17, 15:14    [20787143]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
acidophilus
Member

Откуда:
Сообщений: 107
Melkij
acidophilus,

принудительную отмену выполняющегося запроса. Само соединение statement_timeout не закроет.



эх, это еще хужее
11 сен 17, 16:15    [20787463]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
Sergei.Agalakov
Member

Откуда:
Сообщений: 551
Connection pool. Либо ставьте pgbouncer, либо разбирайтесь с приложением. Кто-то ведь открыл эти 250 бездействующих соединений?
11 сен 17, 23:34    [20788494]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43937
acidophilus
Все 250 коннектов снова забились

А увеличить этот лимит не судьба? В чём проблема висящих коннектов, которые ничего не делают?
12 сен 17, 14:06    [20789860]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
acidophilus
Member

Откуда:
Сообщений: 107
Dimitry Sibiryakov
acidophilus
Все 250 коннектов снова забились

А увеличить этот лимит не судьба? В чём проблема висящих коннектов, которые ничего не делают?


Проблема в том что они занимают память.
29 сен 17, 12:54    [20831481]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматически закрывать idle коннекты?  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 3449
Dimitry Sibiryakov
acidophilus
Все 250 коннектов снова забились

А увеличить этот лимит не судьба? В чём проблема висящих коннектов, которые ничего не делают?


Коннеты в pg очень дорогие и по памяти и по разделяемым ресурсам базы. 1 коннект - 1 независимый процесс базы (легко могущий 128MB памяти или больше требовать).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
29 сен 17, 13:48    [20831685]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить