gpt4 book ai didi

linux - 太多持久的 TCP 连接

转载 作者:太空宇宙 更新时间:2023-11-04 10:35:33 25 4
gpt4 key购买 nike

我们有大约 500 个客户端连接到 Linux RedHat ES 5 服务器。最近发生的情况是,服务器仍然保持与已重新启动的客户端的连接,而无需停止之前与服务器通信的应用程序。客户端上的 netstat 始终只返回一个已建立的到服务器的连接。客户端重新启动后,通信将通过新建立的连接运行。在服务器端,有时旧连接会关闭,有时会保持已建立状态,因此我们与每个客户端建立的连接数量越来越多。由于各种客户端操作系统受到影响,我认为这不是应用程序问题,而是服务器的Linux操作系统之一。我试图调整值

  • net.ipv4.tcp_keepalive_time = 600
  • net.ipv4.tcp_keepalive_intvl = 10
  • net.ipv4.tcp_keepalive_probes = 9

没有成功。我还尝试将最大文件句柄值设置为 1024 到 2048,但连接仍然永远不会关闭,即使在 TCP keepalive 时间到期后也是如此。有人知道什么会导致这种奇怪的行为吗?

最佳答案

这些设置允许您配置默认的保持事件行为(启用保持事件时)。但是,它们不会自动保持事件状态。该功能仍必须通过 SO_KEEPALIVE 套接字选项在每个套接字的基础上显式启用。

参见 http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/了解详情。来自第 3 节:

Remember that keepalive support, even if configured in the kernel, is not the default behavior in Linux. Programs must request keepalive control for their sockets using the setsockopt interface.

关于linux - 太多持久的 TCP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37786196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com