Does/can Passenger use clusters like Mongrel?

2019-04-11 00:50发布

问题:

I'm just curious if Passenger does or can utilize clusters like Mongrel can. If so, how can I specifically run Passenger with clusters? I'm using nginx. And if not, how does it outperform Mongrel so well?

回答1:

Mongrel Cluster just runs a specified number of Mongrel processes and assigns incoming HTTP requests to them using Apache's mod_proxy_balancer module which acts as a reverse proxy and performs load balancing.

Passenger spawns worker (Ruby) processes to handle HTTP requests using one of three different and configurable strategies. When Passenger's smart spawning method is used it is able to cache the Ruby on Rails framework code, which significantly decreases spawn time. Passenger is also able to re-use the already loaded Ruby interpreter, rather than loading a new one for each process.