我想知道是否有人可以通过Rack / Passenger通知Rails应用程序的正确行为,因为我在生产系统上看到一些从未正常运行的exception行为。
我的理解是,Passenger将创buildRack的实例来满足Web应用程序的需求。 我遇到的问题是Passenger和Rack进程在运行几分钟后消失。 在这种情况下,下一个请求将重新启动乘客和机架,但这可能需要10秒以上。
当我查看进程列表时,我发现当事情运行良好时,我至less有一个“Rack:/ my_application”实例。 我也有“Passenger ApplicationSpawner”运行。
ApplicationSpawner似乎在大约10分钟后消失,Rack实例有时也会消失。 我有时最终没有Rack进程或ApplicationSpawner,所以下一个请求需要很长时间。
任何想法如何纠正?
这是乘客的目的(甚至有人说,理想)的行为。 它喜欢修剪未使用的应用服务器工作人员,以便RAM可用于其他事情,如果有必要。 您可以使用PassengerMinInstances和/或PassengerPoolIdleTime来调整Passenger的行为。