2009-05-05 11 views
13

DreamHostでRuby on Rails 2.0.2アプリケーションをホストしています。 Phusion Passengerの上で実行されるApache 2サーバー上にあります。Railsアプリケーションが「スクリプトヘッダーの早すぎる終了」エラーでランダムにクラッシュする

アプリケーションでは、「Railsアプリケーションが正常に開始できませんでした」というエラーが500回返されることがありますが、ランダムに発生します。私はこれを確認することはできませんが、アプリケーションの負荷が高い場合に発生するように見えます。 1日に約2,000ページビューしか得られないので、実際に負荷が問題になるとは思わない。

Apacheログは、これらの500件の応答を「スクリプトヘッダーの時期尚早」というエラーと関連付けます。今日の午前9時にログを見るだけで、1分に3〜4回頻繁にエラーが表示されます。これは明らかに容認できません。

このアプリケーションでは、Stack Traceとエラー "Broken pipe"を含むPhusion Passengerページが表示されることはあまりありません。

Railsログには、これらのエラーは表示されません。

これはDreamHostでホストされているステージングサイトとライブサイトの両方で発生しますが、ローカル開発サーバーでは複製できません。

実際の質問は次のとおりです。どこからこの問題をデバッグし始めますか?

答えて

9

私はDreamHost共有サーバーにメモリキャップを当てていたことが判明しました。

1つのアカウントでいくつかのRailsアプリケーションを実行していましたが、その多くはテストとプロトタイプ作成のためのものでした。 Railsはたくさんのメモリを使用していますので、私はすぐに割り当てに達しました。サポートは私に "私はログをチェックして、最後の3日間にあなたのルビープロセスの2325回を殺した"と言いました。

解決策:共有環境でRailsを実行しないようにしてください。すぐに私のアプリケーションの少なくとも1つをVPSホストに切り替えるつもりです。

+0

これは、同じサーバー上でいくつかの負荷テストを行った後、私のレールアプリで私に起こっていました。このため、多くのApacheのphp.cgiプロセスが実行され、メモリがいっぱいになってしまいました。あなたはdreamhostのレールのメモリ使用量を減らすための解決策を見つけましたか? Thx – adamJLev

+0

それの周りに本当に方法はありませんでした。共有DreamHostサーバ上で普及しているRailsアプリを1つホストすることができます。それにもかかわらず、RailsPlaygroundでホストされているVPSに切り替えました。それ以来、私には何の問題もなかった。 – Schrockwell

+0

DHで新しいユーザーアカウントを作成すると、実行しているすべてのレールアプリについて、それぞれのアカウントに「独自の」メモリが割り当てられますか? – miccet

1

あなたは最新バージョンの搭乗者(執筆時点では2.2.2)を使用していますか?私は自分自身でいくつかのエラーを抱えていたが、乗客のインストールをアップグレードした後にほとんど(もし全部ではないにしても)消えた。

これは答えではない場合は、常にあなたのレールのバージョンを2.3にアップグレードし、問題が解決しないかどうか確認してください。

+0

私は今DreamHostで使用している乗客のバージョンを確認しています。私は後方互換性の修正を期待していませんが、Rails 2.3へのアップグレードは次のステップになるかもしれません。 – Schrockwell

関連する問題