赞
踩
在阿里云安装了postgresql以后,上班时间连接公司网络,本地连接pg数据库,隔几分钟就会自动断开连接,很浪费开发效率,
比较郁闷的是,下班时间连接家里的网络就没有问题,
研究了一段时间后,最终通过设置TCP的keepalive让问题得到解决
[root@localhost ~]# sysctl -A | grep net.ipv4.tcp_keepalive
sysctl: reading key "net.ipv6.conf.all.stable_secret"
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 7200
- net.ipv4.tcp_keepalive_time - 在第一次keep alive请求发送后,不活动连接的时间
- net.ipv4.tcp_keepalive_probes - 在这个连接被认为是断开之前,keep alive请求被重发的次数
- net.ipv4.tcp_keepalive_intvl - keep alive探测的时间间隔
默认的超时设置太长,如果外网网络状况不佳,可能会导致连接断掉,
所以让pg更频繁地发出探测数据包来保持tcp连接:
[root@localhost ~]# sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_probes=3 net.ipv4.tcp_keepalive_intvl=10
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。