Я следовал за часто задаваемыми вопросами Splash для производственных установок, и моя система в настоящее время выглядит следующим образом:
- 1 Scrapy-контейнер с 6 параллельными запросами.
- 1 HAProxy Контейнер, который балансирует нагрузку для разбрызгивания контейнеров
- 2 Splash Containers с 3 слотами каждый.
Я использую 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. Я продолжаю получать эти ошибки.
Я использую экземпляр AWS EC2 t2.micro, имеющий 1 ГБ памяти.
Я подозреваю, что проблема все еще связана с переполнением экземпляра заставки. Какой совет вы можете дать мне, чтобы уменьшить загрузку экземпляров Splash? Есть ли хорошее соотношение между слотами и запросами параллелизма? Должен ли я дросселировать запросы?