我们是一家小公司,拥有一款 Android 应用,由 3 台运行 Proxmox 的服务器提供支持。所有连接均使用 HTTPS。
我们遇到的问题如下:从 LAN 外部建立的连接超时的概率约为 95%。
我们尝试将各种服务暴露给我们的公共 IP,包括 HAProxy、Apache、Nginx、IIS 和定制的 Java 程序;所有这些软件都存在相同的问题。如果可能,我们会在物理和虚拟环境中的 Debian、Windows Server 2016 和 Windows 10 上对它们进行测试。
我们通常每秒接收约 1000 个请求,但根据每个软件的日志,在过去一周左右,每秒仅处理约 30 个请求。其他请求都超时了。
当我们从客户端测试时,大约 95% 的请求在 20 秒后超时。当我们尝试通过任何端口或协议(例如 SSH)从 LAN 外部连接到服务器时,同样的问题仍然存在,因此问题显然不仅限于 HTTPS。
我们检查了 DNS,没有问题。
唯一成功“处理”所有~1000个请求/秒的测试是这Java 程序在发出请求时立即关闭套接字。在这种情况下,我们可以从客户端看到每个请求都会立即出现预期的错误,而不会超时。当我们在关闭连接之前引入 1 秒的小延迟来模拟正在处理的请求时,上述问题就出现了。
为了解决这个问题,我们几乎尝试了所有我们知道的方法,但似乎没有任何办法能够改变现状。
您建议如何修复或调试该问题?可能的原因是什么?
非常感谢你的帮助,Marco