【发布时间】:2016-02-06 12:09:35
【问题描述】:
我有一个使用 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;
passenger-status 显示内存使用量要少得多(只有一个池)。
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
【问题讨论】:
-
“使用 --max-pool-size 1,我没有看到显着的改进;我仍然有多个 RubyApp 和预加载器。” -- 你不要't 有多个 RubyApp 和预加载器。您正在查看线程,而不是进程。配置 htop 以禁用线程视图。
标签: ruby-on-rails passenger fusion