![Linux - 进程重新启动后,进程的传出连接超时](https://linux22.com/image/651683/Linux%20-%20%E8%BF%9B%E7%A8%8B%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%E5%90%8E%EF%BC%8C%E8%BF%9B%E7%A8%8B%E7%9A%84%E4%BC%A0%E5%87%BA%E8%BF%9E%E6%8E%A5%E8%B6%85%E6%97%B6.png)
用这个撞墙……
我有一台 Ubuntu Linux 服务器,其上有我们自己的进程,它保存着与外部服务的 40K 个持久连接。
当进程启动时,它会尝试重新连接到 40K 个外部端点。当我在长时间活动后重新启动进程并尝试重新连接时,大多数重新连接因超时而失败。首次重启后大约一小时,连接尝试突然再次成功。
以下是我所知道的情况:
- 由于进程在两次尝试之间重新启动,因此它不可能是进程的内部状态
- 无论我是否重启,外部服务仍然可用。
- 剩下的就是服务器本身
我的理论是,在我们的流程稳定运行期间,Linux 网络堆栈中的某些东西已经达到最大值,并且只有在相当长的超时之后才会被释放。
- 哪些资源可能达到最大值,我该如何验证这种情况?
- 还有其他解释吗?
谢谢!