我有一个使用 Phusion Passenger 作为独立服务器运行的 rails 应用程序,命令为bundle exec passenger start --port 8000 --user ubuntu --daemonize
。
问题是,Passenger 为我的工作启动了太多进程并消耗了大量内存。服务器用于我的私人工作,因此几乎没有服务请求。如何使用 Phusion Passenger 控制进程数?什么配置选项应该是内存消耗最少的?
编辑
有了--max-pool-size 1
,我看不到显着的改善;我仍然有多个 RubyApp 和预加载器。
编辑 2(使用 nginx)
从https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx%203.0.html我可以了解更多关于我可以添加到 nginx.conf 文件中的选项。
passenger_max_pool_size 1;
passenger_pool_idle_time 1;
乘客状态显示内存使用量要少得多(只有一个池)。
buntu@ip-172-31-63-19 public> sudo passenger-status
Version : 5.0.21
Date : 2015-11-06 05:50:24 +0000
Instance: aSCyt3IW (nginx/1.8.0 Phusion_Passenger/5.0.21)
----------- General information -----------
Max pool size : 1
App groups : 1
Processes : 1
Requests in top-level queue : 0
----------- Application groups -----------
/home/ubuntu/webapp/rails/passenger-ruby-rails-demo/public (development):
App root: /home/ubuntu/webapp/rails/passenger-ruby-rails-demo
Requests in queue: 0
* PID: 3099 Sessions: 0 Processed: 49 Uptime: 33s
CPU: 1% Memory : 69M Last used: 11s ago