postgres数据库连接超时问题处理

postgres数据库连接超时问题处理

在操作系统层面

Keepalive 是 TCP 协议的一项功能。当您在TCP network socket中使用SO_KEEPALIVE选项时,一旦socket idle,计时器就会开始运行。当**keepalive idle time* *到期,并且socket上没有进一步的活动时,kernel内核将向通信伙伴发送一个“keepalive数据包”。如果对方回答,则认为连接良好,计时器再次开始运行。

如果没有应答,内核等一个keepalive间隔(keepalive interval ),再发送另一个keepalive packet探活。

重复此过程,直到发送的数据包量达到 keepalive count。如果之后(还是无应答),连接就被认为是结束了,再尝试使用network socket就会报错。

在数据库层面

设置配置参数tcp_keepalives_idle,tcp_keepalives_interval以及tcp_keepalives_count(Windows 不支持最后一个)来更改所有服务器套接字的设置。

参数 默认值 注解
tcp_keepalives_idle 7200 指定不活动多少秒之后通过 TCP 向客户端发送一个 keepalive 消息。 0 值表示使用默认值。这个参数只有在支持TCP_KEEPIDLE或TCP_KEEPALIVE符号的系统或 Windows 上才可以使用。在其他系统上,它必须为零。在通过 Unix 域套接字连接的会话中,这个参数被
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值