我遵循了this answer中概述的指示,以防止乘客在没有使用几分钟后关闭我的应用程序。然而,所有这些都不起作用。
如果我在大约1分钟后刷新我的网站(仅在Apache上的Mac上本地服务),则需要大约6秒的时间加载。经过长时间的加载,网站现在速度很快,一切都很好。如果我让它再坐一分钟,再次提神还需要6秒。
这是我的/etc/apache2/other/Passenger.conf文件:
LoadModule passenger_module /Users/maq/.rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.14/buildout/apache2/mod_passenger.so
PassengerRoot /Users/maq/.rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.14
PassengerDefaultRuby /Users/maq/.rvm/wrappers/ruby-2.0.0-p247/ruby
PassengerSpawnMethod smart
PassengerPoolIdleTime 1000
RailsAppSpawnerIdleTime 0
PassengerMaxRequests 5000
PassengerMaxPoolSize 30
PassengerMinInstances 1
PassengerEnabled on在更改了所有这些设置之后,我重新启动了Apache。
还有什么别的办法吗?
更新:
我试着走cron作业路线,我每分钟运行一次cron作业,以访问网页并确保它保持活力。有趣的是,这也是行不通的。
它正确地访问网页,我从日志中看到页面每分钟都被访问,但是每次在用户生成的活动进行了大约一分钟之后,我尝试在浏览器中访问它,就会有6秒的负载。这能是什么?
注意:我正在使用Rails 4.0。
发布于 2013-09-06 12:35:05
事实证明,我问题的根源不是乘客,而是Apache和DNS。
这是Mac问题,您可以在这里找到更多关于问题/解决方案的信息:http://clauswitt.com/fixing-slow-dns-queries-in-os-x-lion.html
基本上,如果您的/etc/hosts文件中有一个名为:
127.0.0.1 railsapp.local您需要添加它的IPv6对应项,这样系统就不会执行远程DNS查询:
fe80::1%lo0 railsapp.localhttps://stackoverflow.com/questions/18623884
复制相似问题