我们在应用服务器上的 Passenger 下(通过 Apache)运行 Rails 应用程序。应用服务器前面有一个前端 Web 服务器(也运行 Apache 设置作为代理)。偶尔,端口 80/443 上的 Web 服务器和应用服务器之间的连接会中断,从而导致中断。
似乎没有什么可以触发中断 - 它们不会按照我们能辨别的任何时间表发生。不过,故障却异常规律 - 它们总是持续大约 10 分钟(通常不会少于,有时长达 12 分钟),并且无需任何交互即可自行解决。重新启动 Apache 和/或 Rails 应用程序似乎没有任何作用。机器上有足够的 RAM。应用服务器上没有防火墙来阻止入站连接(这一切都在代理服务器后面,而代理服务器前面还有另一个防火墙)。
我们没法检查了,需要一些关于可能原因的想法。有什么可能导致这种情况吗?!谢谢!
答案1
我的服务器也遇到了类似的问题,但没有 Apache 代理。
你有没有:
PassengerUseGlobalQueue 开启
在你的/etc/apache2/mods-avaiable/passenger.conf?
我的中断显示全局队列上的请求不断增加,当应用程序再次开始响应时,5 到 10 分钟后,production.log 中没有超过 1000 毫秒的时间请求。