powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pgpool - connection_life_time
4 сообщений из 4, страница 1 из 1
pgpool - connection_life_time
    #35575230
неадмин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня!

Поставил pgpool, с целью обрубать висящие (idle) коннекты. Прописал в pgpool.conf
Код: plaintext
1.
2.
3.
4.
connection_life_time =  1 
listen_addresses = '*'
port =  9999 
num_init_children =  2 

остальное - без изменений. Так понял, что если коннект находится в состоянии idle дольше connection_life_time (в секундах), то он должен разъединяться. На практике так не получается.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
psql aaa postgres -p  9999 
Добро пожаловать в psql  8 . 0 . 3  - Интерактивный Терминал PostgreSQL.
Наберите:  \copyright для условий распространения
           \h для подсказки по SQL командам
           \? для подсказки по командам psql
           \g или наберите ";" для завершения запроса и его выполнения
           \q для выхода

aaa=# 

на другом терминале:
Код: plaintext
1.
2.
3.
4.
5.
ps -ax | grep pgpool

  8749  ?        Ss      0 : 00  pgpool -f /etc/pgpool.conf
  8750  ?        S       0 : 00  pgpool: postgres aaa [local] idle
  8808  pts/ 4     R+      0 : 00  grep pgpool

И, так и висит в состоянии idle. Подскажите, как сделать, чтобы по истечении заданного времени в состоянии ожидания idle, соединение закрывалось?

Спасибо.
...
Рейтинг: 0 / 0
pgpool - connection_life_time
    #35575861
Konstantin~
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
client<--a-->pgpool<--b-->postgresql

если коннект -а- idle больше чем указано в connection_life_time то разрывается коннект -б-. если коннект -а- "оживает", то коннект -b- открывается заного.
...
Рейтинг: 0 / 0
pgpool - connection_life_time
    #35578315
неадмин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konstantin~
client<--a-->pgpool<--b-->postgresql
если коннект -а- idle больше чем указано в connection_life_time то разрывается коннект -б-. если коннект -а- "оживает", то коннект -b- открывается заного.

Хм. Все равно висят оба и -а- и -б- :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
$ psql aaa postgres -p  9999 

(спустя несколько секунд в другом терминале: )

$ ps -ax | grep postgres

 5842  pts/ 0     S       0 : 00  pgpool: postgres aaa [local] idle
 6039  ?        Ss      0 : 00  postgres: postgres aaa [local] idle

Я правильно понимаю, что 5842 - это -а-, 6039 - это -б-?

И второй вопрос, он же основной: можно ли как-то автоматически "обрубать" коннект -а- к пулу по истечении некоторого времени простоя (или коннект к базе, при соединении к ней непосредственно, не используя пгпул)?

Ситуация такая - одно приложение переодически оставляет "висящие" коннекты, а возможности пофиксить это на уровне приложения пока нет.
...
Рейтинг: 0 / 0
pgpool - connection_life_time
    #35592471
Konstantin~
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xmm, интересно, похоже на некий глюк pgpool'a. (насчет а и b -- да, все верно)

Попробуйте PgBouncer , он точно разрывает конекты когда надо, + умеет умеет использовать пул не только на уровне соединений, но и на трансакций.

из /etc/pgbouncer.ini
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
; When server connection is released back to pool:
;   session      - after client disconnects
;   transaction  - after transaction finishes
;   statement    - after statement finishes
pool_mode = transaction

...
 скипнуто 
...

;;  то что касается таймаутов 
;;
;; Close server connection if its been connected longer.
server_lifetime = 1200

;; Close server connection if its not been used in this time.
;; Allows to clean unneccessary connections from pool after peak.
server_idle_timeout = 300

...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pgpool - connection_life_time
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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