私は最近、ロード時間を短縮するために一生懸命取り組んでいる大規模な webb アプリを持っています。Generator (約 20.000 アイテム) と Product (約 1.500 アイテム) の 2 つのコントローラーがあり、しばらく遅いですが、インデックスとスマート クエリを使用しました。私の開発アプリでは、アプリの応答時間は約 500 ミリ秒です。
アプリで RequestTimeOut が発生することがありますが、このエラーのトラブルシューティングに助けが必要です。私はそれが何を意味するかを理解し (リクエストに時間がかかりすぎました)、'rack-timeout'
gem をインストールして 15 秒に設定しました (正常に動作します)。
時間を節約するために、アプリ全体 (特に最も遅い 2 つのジェネレーターと製品) を調べました。現在修正しようとしているキャッシングに関する問題がいくつかありました (キャッシングはかなり役立ちます)。
これらのタイムアウトは、主にボット (特に Yandex.ru) が私のサイトをスパイダーし、特にジェネレーターを次々と通過するときに発生するようです。それらはもはやそれほど遅くはないかもしれませんが、次々とロードすると多くのリクエストが発生します。
今、私は考えが尽きており、何をどのようにトラブルシューティングを続けるかを知るために、いくつかの助けが必要です:
- 応答時間以外にこの
エラーの原因となるものはありますか? たとえば、メモリリークか何か?それとも、遅いコントローラーでの大量のリクエストの問題ですか? - 開発プラットフォームでテストできませんでした。
アプリがボットなどからのリクエストをどのように処理するかをベンチマークして確認する方法はありますか? このようなトラフィックをシミュレートするために使用できる「Apache-thing」があったことを覚えているようです。
この問題を高レベルの観点から見たり、トラブルシューティングしたりする他の方法はありますか? どんなアイデアや考えでも大歓迎です!