Phusion Passenger中是否存在某种机制来防止整个应用程序崩溃?

bte*_*les 5 ruby apache ruby-on-rails passenger

以下开始成为我们的一个大问题.

我们的企业有大约15个Rails应用程序,在大型服务器上运行.当两个或三个应用程序广受欢迎并且它们开始占用PassengerMaxPoolSize中的所有实例时,就会出现问题.一旦发生这种情况,其他应用程序就会开始丢失实例,导致多个应用程序在任何给定时刻完全关闭.我们需要的机制如下:

PassengerMinInstancesPerApp 1
Run Code Online (Sandbox Code Playgroud)

而已.

但是,乘客没有这个,所以我们尝试了PassengerMaxPoolSize,PassengerMaxRequests,PassengerMaxInstancesPerApp,PassengerPoolIdleTime和PassengerUseGlobalQueue的各种变体.

以下是我们配置的问题:

1:PassengerMaxPoolSize被设置为大约38 ...任何更高,并且由于某些奇怪的原因,其他200个常规http站点开始爬行.

2:PassengerMaxRequests设置为1000,但对于每周只使用一次或两次的应用程序,它们仍会被其他更受欢迎的应用程序淹没并杀死

3:PassengerPoolIdleTime设置为0,因为我们没有理由不必要地关闭应用程序.

4:PassengerGlobalQueue启用以允许稍微更好的负载平衡.

5:PassengerMaxInstancesPerApp WAS设置,应该有效,但由于某种原因它造成了很大的滞后,类似于PasengerMaxPoolSize问题...这可以解决问题,但它似乎不起作用......

不幸的是,获得另一台服务器不是一种选择,(可以想象将更受欢迎的应用程序移动到一个单独的盒子中).

有人知道Phusion是否打算制作PassengerMinInstancesPerApp参数?或者,如果他们计划安装一个机制,禁止某个应用程序被完全杀死?(或者,如果您有任何其他建议,我愿意接受可能的解决方案.

Cheerio!伯恩斯

Hon*_*gli 2

是的。乘客 3 即将到来。