1

我已遵循此答案中概述的说明,以防止乘客在几分钟未使用后关闭我的应用程序。然而,这些都没有奏效。

如果我在大约 1 分钟后刷新我的网站(仅在我的 Mac 上的 Apache 上本地提供),加载大约需要 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。

4

1 回答 1

0

原来我的问题的原因不是乘客,而是 Apache 和 DNS。

这是一个 Mac OSX 问题,您可以在此处找到有关问题/解决方案的更多信息: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.local
于 2013-09-06T12:35:05.903 回答