Балансировщик нагрузки приложений возвращает тайм-аут 504Gateway

#amazon-ecs

#amazon-ecs

Вопрос:

У меня есть приложение rails, запущенное на ECS Fargate. Балансировщик нагрузки приложений во фронтальной службе и службе ECS также использует группу автоматического масштабирования. Он работает как обычно, пока мне не придется работать с пакетом. Когда я отправляю 500 запросов, все в порядке.

 ab -c 500 -n 500 -r -T 'application/json' -p file.json -H "Authorization: $token" https://example.com/api
  

Но когда я отправляю 1000 запросов или 2000 запросов, в ответе есть несколько неудачных запросов. Если я повторю попытку, число будет другим. Я проверил журналы и увидел, что для неудачных запросов был тайм-аут 504Gateway. И больше никаких подробностей.

Когда я отправляю 5000 запросов,

 the ECS service ... (port 3000) is unhealthy in target-group ... due to(reason Request timed out).
  

Я попытался поднять RAILS_MAX_THREAD и CONCUURENT_WORKER, но безуспешно.
У кого-нибудь есть какие-то предложения? Пожалуйста, скажите мне.
Спасибо.

Ответ №1:

Проблема в моем веб-сервере. Я увеличиваю одновременный поток до 16, а рабочий — до 6. И в ab command -c устанавливается значение 100. Все снова становится нормально.