1

この回答で概説されている手順に従って、Passenger が数分間使用されなかった後にアプリをシャットダウンしないようにしました。ただし、これはどれも機能していません。

約 1 分後に Web サイト (Apache 上の Mac でローカルに提供されている) を更新すると、ロードに約 6 秒かかります。その長い読み込みの後、サイトは高速になり、すべてが良好になりました. もう 1 分間そのままにしておくと、再度更新するにはさらに 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 ジョブを実行して Web ページにアクセスし、ページが有効であることを確認します。興味深いことに、これも機能しません。

Web ページに適切にアクセスし、ログでページが毎分アクセスされていることを確認しますが、ユーザーが生成したアクティビティの 1 分ほど後にブラウザーでアクセスしようとすると、6 秒間の負荷がかかります。上。これは何ですか?

注: Rails 4.0 を使用しています。

4

1 に答える 1

0

私の問題の原因は Passenger ではなく、Apache と DNS であることがわかりました。

これは Mac OSX の問題であり、問​​題/解決策の詳細については、http: //clauswitt.com/fixing-slow-dns-queries-in-os-x-lion.htmlを参照してください。

基本的に、/etc/hostsファイルに次のエントリがあるとします。

127.0.0.1 railsapp.local

システムがリモート DNS クエリを実行しないように、対応する IPv6 を追加する必要があります。

fe80::1%lo0 railsapp.local
于 2013-09-06T12:35:05.903 に答える