【发布时间】:2012-03-26 10:35:30
【问题描述】:
passenger-memory-stats的输出
----- Passenger processes -----
PID VMSize Private Name
-------------------------------
28572 207.4 MB ? Rack: /home/myapp/application
28580 207.0 MB ? Rack: /home/myapp/application
28588 206.0 MB ? Rack: /home/myapp/application
28648 206.5 MB ? Rack: /home/myapp/application
29005 23.0 MB ? PassengerWatchdog
29008 100.5 MB ? PassengerHelperAgent
29010 43.1 MB ? Passenger spawn server
29013 70.8 MB ? PassengerLoggingAgent
29053 202.0 MB ? Passenger ApplicationSpawner: /home/myapp/application
29105 202.3 MB ? Rack: /home/myapp/application
29114 202.3 MB ? Rack: /home/myapp/application
29121 202.3 MB ? Rack: /home/myapp/application
29130 202.3 MB ? Rack: /home/myapp/application
29138 202.3 MB ? Rack: /home/myapp/application
这看起来像很多衍生的进程...这是一个目前正在开发中的应用程序,没有人(据我所知)点击它...
passenger-status的输出
App root: /home/myapp/application
* PID: 29105 Sessions: 1 Processed: 0 Uptime: 15m 11s
* PID: 29114 Sessions: 1 Processed: 0 Uptime: 14m 0s
* PID: 29121 Sessions: 1 Processed: 0 Uptime: 14m 0s
* PID: 29130 Sessions: 1 Processed: 0 Uptime: 14m 0s
* PID: 29138 Sessions: 1 Processed: 0 Uptime: 14m 0s
首先,这正常吗?
二、可能的原因?
【问题讨论】:
-
passenger-status说什么? -
@SergioTulentsev 更新了带有输出的问题...只需再次运行
passenger-memory-stats,它就少了一个 Rack 进程 -
从这个输出中,我会说你有挂起请求。也就是说,请求进入无限循环或其他什么。因此,当下一个请求进来时,没有多余的工人,Passenger 必须产生另一个。
-
@SergioTulentsev 谢谢,你将如何解决这个问题?这是代码问题吗?还是 nginx+passenger 的问题?
-
当我拥有其中一个时,它总是很慢的数据库。尝试分析您的应用并找出为什么您的请求需要这么长时间。
标签: ruby-on-rails ruby nginx passenger rack