Rails应用程序在使用Phussion的Mac Lion 10.7.2上慢慢消失

时间:2012-01-31 21:09:08

标签: ruby-on-rails apache passenger

我最近在使用Apache和Phusion Passenger运行Lion 10.7.2的Mac mini上部署了我的第一个Rails应用程序。它是一台四核机器,上面有2个推杆。服务器一开始似乎很好,只处理少量请求。但是,在请求开始增加之后,它会锁定。这是我对ROR的第一次服务器部署,我不会放弃我应该检查的内容。我查看了运行的ruby进程,它大约有5或6个。

该应用程序非常适合数据库和AJAX。

我已经阅读了有关优化Phusion Passenger的其他帖子,但它似乎没有帮助。我的httpd.conf文件如下所示:

<VirtualHost *:80>
    ServerName http://domain.com/
    DocumentRoot /Users/lab/WebApplications/next_browse_app/public   
    PassengerSpawnMethod conservative

     # Speeds up spawn time tremendously -- if your app is compatible. 
     # RMagick seems to be incompatible with smart spawning
     RailsSpawnMethod smart

     # Keep the application instances alive longer. Default is 300 (seconds)
     PassengerPoolIdleTime 1000

     # Keep the spawners alive, which speeds up spawning a new Application
     # listener after a period of inactivity at the expense of memory.
     RailsAppSpawnerIdleTime 0

     # Just in case you're leaking memory, restart a listener 
     # after processing 5000 requests
     PassengerMaxRequests 5000
     PassengerMaxPoolSize 4
     PassengerMaxInstancesPerApp 4

 <Directory /Users/lab/WebApplications/next_browse_app/public>
     AllowOverride all              
Allow from all   
    Options -MultiViews            
  </Directory>

非常感谢任何帮助!谢谢!

1 个答案:

答案 0 :(得分:1)

事实证明我的rails应用程序使用的是Ruby gems Mongo 1.4.1和BSON 1.4.1,由于内存泄漏而被淘汰。因此,从宝石的简单升级解决了这个问题。此外,使用尾随Apache的日志并使用乘客记忆统计数据帮助找到问题。