3

Rail開発ページの表示が不規則に遅くなったり速くなったりした経験はありますか(コンソールにページ全体がレンダリングされたと表示されてから15〜20秒後にページが表示されます)。

私の開発環境は、Mac(Lion)のrails 3.0.17、WEBrick 1.3.1、ruby 1.9.2、開発データベース用のPostgres v11(Herokuが提供するアプリ)です。

最近、ページの読み込みに非常に長い遅延が発生することに気付きました... 15〜20秒の遅延で、ページの複雑さとはまったく関係がなく、特定のページの読み込みが数回速くなり、その後遅くなる場合があります。数分間はかなり悪いかもしれませんが、その後1時間は消えます。

また、ページの読み込みが遅いか速いかにかかわらず、railsログには、ページがかなり速くレンダリングされたことが常に表示されます...「486msで200 OKを完了しました」のように表示されますが、ブラウザはさらに15秒間「ローカルホストを待機しています」と表示する場合があります。ページを表示する数秒前。

ブラウザに依存していないようです(FFまたはSafariは同じように動作します)。

コードベースの更新に関連するものではありません。私はいくつかのUI要素をテストしているのですが、すべてがきびきびしていて、突然数ページが15〜120秒間ハングします。

開発中のGemfileにgem'rails-dev-boost'を追加した後でも発生します。

また、開発マシンのgem'http_logger'に追加して、S3などの外部httpリクエストへの呼び出しをログに記録しましたが、それが要因とは見なされていません(外部APIにアクセスしないページで遅延が発生することがよくあります)。

私のレイアウトには、 http: //static.twilio.com/libs/twiliojs/1.0/twilio.min.jsなどの外部の.js依存関係がいくつかありますが、それをレイアウトの下部に追加したので、(おそらく)それが遅れていた場合でも、ページのコンテンツをすばやく表示できます。(その上、それはおそらく私のブラウザによってキャッシュされます)。

もちろん、マシンを再起動してみましたが、検証済みのアクティビティモニターはCPUとメモリの使用量が正常であるようです。タイムマシンがそのことをしているとき、それは相関していないようです。

詳細:以下のAKGからのコメントによると、FirebugのWebコンソールを使用し、ほとんどの場合、スタイルシートは数ミリ秒でロードされますが、速度が低下すると、ほとんどのスタイルシートで8〜20秒の遅延が発生します。 ...これは、webrickがページをタイムリーに提供できないことを示唆していますか?

4

2 に答える 2

2

レンダリングが呼び出された後、応答が送信される前に、バグのある/遅いミドルウェアが実行されている可能性があります。Bullet私は最近、場合によっては 1 分以上の一時停止を伴うこの問題に遭遇しました。その原因は、N+1 クエリの検出を支援するように設計された gem であることが判明しました。ミドルウェアを削除したところ、問題は解決しました!

于 2016-08-16T00:54:48.963 に答える
0

同じ問題が数回発生しました。Mongrelに切り替えました。これにより、問題は自動的に解決されました。ただし、Rails 2.3.8 でこれを取得しました。

于 2012-12-31T07:15:12.360 に答える