Splash の FAQ に従ってプロダクション セットアップを行いましたが、私のシステムは現在次のようになっています。
- 6 つの同時実行リクエストを持つ 1 つの Scrapy コンテナー。
- コンテナをスプラッシュするために負荷分散する 1 つの HAProxy コンテナ
- それぞれ 3 つのスロットがある 2 つのスプラッシュ コンテナ。
以前はセットアップを監視していましたが、CPU使用docker stats
率が 7% を超えたり、メモリ使用率が 55% を超えたりすることはありません。
まだまだたくさん届きます
DEBUG: Retrying <GET https://the/url/ via http://haproxy:8050/execute> (failed 1 times): 504 Gateway Time-out
リクエストが成功するたびに、これらのタイムアウトが 6 ~ 7 回発生します。
スプラッシュ コンテナーのスロットと同時実行要求の量を変更して実験しました。また、HAProxy の背後にある単一のスプラッシュ コンテナーで実行してみました。これらのエラーが発生し続けます。
1 GB のメモリを持つ AWS EC2 t2.micro インスタンスで実行しています。
この問題は、まだスプラッシュ インスタンスがフラッディングされていることに関連していると思われます。Splash インスタンスの負荷を軽減するためのアドバイスはありますか? スロットと同時実行リクエストの適切な比率はありますか? リクエストをスロットリングする必要がありますか?