3

開発モードで実行されているテスト サイトと並行して実行されているライブ プロダクション サイト (プロダクション モード) があります。いずれも、Rails 3、Apache 2、および Phusion Passenger を使用して、同じマシン上で実行されます。本番サイトで同じページをロードすると、ページのロードに約 4 ~ 5 秒かかります。テスト サイトで同じページをリクエストすると、約 0.5 秒しかかかりません。10倍の大きな違い。プロダクションは開発よりも速いといつも思っていました :( プロダクション サイトでページをリロードしても、読み込み時間は同じままです。何が起こっているのでしょうか? この問題をデバッグするにはどうすればよいでしょうか? 現在、プロダクション サイトは遅すぎるためです。トラフィックがなくても。

他の Web サーバー、特に Litespeed や Webbrick で追加のテストを行いました。どちらも同じ奇妙な動作を示します。プロダクション モードでは、開発モードよりも 10 倍遅くなります。おそらくRails関連の何かです。しかし、私はそれに指を置くことはできません。ログには、ページがすばやくレンダリングされることが示されていますが、ページが画面に表示されるまでに非常に長い時間がかかります。

4

1 に答える 1

0

提案をありがとう。私はなんとかそれを修正することができました。最終的に、すべての本番データを開発サーバーにロードすることにしました。私のセッションテーブルが原因であることが判明しました。大量のデータが含まれていて、クエリが遅くなりました。インデックスを追加して問題を解決しました。

于 2012-09-07T17:38:56.663 に答える