我正在使用postdock(https://github.com/paunin/PostDock)
Postgres版本:10 Pgpool版本:3.7
1个pgpool 1个大师 1个奴隶 1个备份(酒保)
我的应用程序正在与pgpool连接(我是1个数据库和7个用户/应用程序),从后台我发现PostgreSQL中有许多运行查询DISCARD ALL的IDLE连接。
我将postgresql的最大连接数从100增加到1500。因为有时空闲连接数增加到850,并且该连接影响了我们的服务。
现在,我们每5分钟手动杀死一次空闲连接。
我们的应用程序正在正确关闭连接,因为在我们现有的数据库系统(没有pgpool)中,它仅打开了12个DB连接。
有人遇到过类似的问题吗?
我使用的是与postdock相同的配置。
答案 0 :(得分:1)
我对postdock不太了解,但是似乎pgpool.conf(https://github.com/paunin/PostDock/blob/master/src/pgpool/configs/pgpool.conf)用于设置。您会看到“ connection_life_time = 0” connection_life_time是终止与PostgreSQL后端的缓存连接的时间(以秒为单位),0表示连接不会断开。 您应该指定特定的数字。