PostgresQL数据库的参数需要KeepAlive和防火墙清理检查的时间
最近的项目中发现一个问题,如果数据库的SQL执行时间过长,比如2个小时的时候。 应用程序一等处于等待状态,而数据库的SQL已经执行完成了。感觉比较怪异。
查看log,应用程序没有任何错误信息,只要数据库输出了如下的信息: 1.could not send data to client: XXX 2.unexpected EOF on client connection 3. disconnection: session time: 0:00:30.26 user=postgres database=postgres host=[local] port=
有这地方可以发现是数据库执行完SQL的时候找不到客户端的连接信息了。 刚开始怀疑是网络问题,但测试一下发现,如果是网络问题客户端也会出异常的。 最后怀疑到防火墙,防火墙的健康检查时间时间下是不是做了啥动作。
终于发现了防火墙健康检查的把进程删除了。而导致这个动作的原因是 KeepAlive的值没有设置合理。
参考URL:http://d.hatena.ne.jp/learn/20101016/p1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |