- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 linux 服务器配置的初学者,对此我了解不多。我将 linux ubuntu 根服务器用于带有 postgres 数据库的网站。我电脑上的操作系统是 windows 7。
几分钟后(我不太确定,需要多长时间,可能 5 分钟左右,不是很多)但我什么也没做就失去了连接,这真的很烦人。我用谷歌搜索了如何修复它,但没有真正找到解决方案,或者不理解它们。
例如,我尝试更新我的 postgresql.conf 并编辑了这个值:
#tcp_keepalives_idle
#tcp_keepalives_interval
#tcp_keepalives_count
这并没有真正帮助。我想有机会闲置 30 分钟,而不会断开连接。
然后我看了另一个解决方案:
http://www.gnugk.org/keepalive.html
老实说,我真的不明白,我必须添加的那些行是干什么用的。因为当我检查这个时:
sysctl -A | grep net.ipv4
它告诉我:
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 7200
这应该意味着我不会在 2 小时内失去连接,不是吗?
我也不太明白线路是干什么用的...这是否意味着,客户端连接的每项服务,即使他处于非事件状态,他仍然会连接 2 小时?不管是 postgresql 还是 ftp 之类的?
请帮帮我!谢谢!
安德烈
最佳答案
好的,看来我解决了这个问题。虽然这里没有答案,但我只是想解释一下我的解决方案。
当我在一个连接上闲置几分钟时,我的 ISP 似乎很快就断开了我的连接。似乎是 CGN(运营商级 NAT)的问题。
我解决了这个问题,用 sysctl 设置 keepalive 包。
所以我使用了那些参数值:
net.ipv4.tcp_keepalive_intvl = 60
net.ipv4.tcp_keepalive_probes = 20
net.ipv4.tcp_keepalive_time = 180
这意味着在 3 分钟后将发送第一个 keepalive 包,并且当每分钟(60 秒)没有连接事件时,将发送一个新的 keepalive 包并且这 20 次。总而言之,这可以防止我的连接中断。
也许如果另一个人在这里也有这个问题,那可能是一个解决方案。
关于linux - 使用 postgresql 在 ubuntu 上努力设置连接空闲超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28079004/
我正在尝试为我的项目创建一些单元测试,经过大量挖掘之后,我发现了Effort,这个想法很棒,它模拟数据库而不是处理伪造的DBContext,顺便说一句,很难做到正确使用复杂的架构。 但是,我将用户的电
我正在尝试对某些响应 Entity Framework 数据库上下文的类进行单元测试。为了寻求帮助,我设法找到了一个名为 Effort 的库,它似乎有点旧,而且没有很好的文档记录,但它似乎可以工作,而
这两天,Auto-GPT 爆火 https://github.com/Torantulino/Auto-GPT 它是一款让最强语言模型GPT-4能够自主完成任务的模型,让整个AI圈疯
为什么会出现这个异常?这是错误吗? 我正在使用 EF 测试库 Effort 创建我的数据库的内存实例并遇到这个有趣的场景: 打开DbContext1 将项目添加到表(不保存) 关闭DbContext1
我是一名优秀的程序员,十分优秀!