質問

Phusion Passenger(mod_rails)を介してRailsアプリを実行していますが、しばらくの間スムーズに実行され、その後急にクロール(1時間に1つまたは2つの要求)が遅くなり、応答しなくなります。メモリについてはわかりませんが、試練全体を通してCPU使用率は低くなります。

問題の診断/修正を開始する場所を誰か知っていますか?

更新:アプリを毎回再起動してから問題を解決しますが、より長期的な解決策を探しています。メモリ使用量は徐々に増加します(最初はインスタンスごとに〜30mb、1時間後に40mbになり、クラッシュするまでに60または70mbになります)。

役に立ちましたか?

解決

New Relicは、合計メモリ使用量を表示できます。 Engine Yardでは、Rack :: Bug、MemoryLogic、Oinkなどのツールを推奨しています。素敵な記事役に立つと思われる類似のもの。

他のヒント

アプリを再起動すると問題が解決する場合は、リソースの使用状況を確認することをお勧めします。

ある種のメモリリークがあるように聞こえます。問題を解決したい場合は、PassengerMaxRequestsを少し低い値に設定してみて、何が起こっているのかを理解してください。

http://www.modrails.com/documentation/Users %20guide%20Apache.html#PassengerMaxRequests

これにより、一定数のリクエストを処理した後、インスタンスが個別に再起動されます。ロックする前に自動的に再起動するスイートスポットを見つけるために、それをいじる必要があるかもしれません。

その他のヒント: -プラグイン/宝石を調べて、最新のものであることを確認します -大量のメモリ消費がある重いアクションとリクエストを確認します(NewRelicはこれに最適です) -ガベージコレクションの方が優れているため、REEへの切り替えを検討することもできます。

最後に、現在実行中のパッセンジャーインスタンスを調べて、特定のメモリしきい値を超えた場合にそれらを強制終了するcronジョブを設定できます。乗客はそれらの再起動を処理します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top