Разрыва соединения с сервером. Haproxy + Nginx + Единорог


Некоторые запросы на мой сайт завершаются с ошибкой "сервер неожиданно сбросил соединение", и в журналах ошибок нет ошибок.

Об / мин составляет 1-1, 2 к.

У тебя есть какие-нибудь идеи?

Вот конфигурации haproxy, nginx и unicorn:

Https://gist.github.com/releu/59b7f1d649c681856320

2 2

2 ответа:

Перед тем, как вы поделитесь журналами, что является критическим, у вас есть неправильная конфигурация:

  1. Nginx worker_connections 3000 Причина: держите его в 2-3 раза больше, чем фактическое число активных соединений

  2. Nginx worker_rlimit_nofile 20000. Причина: для каждого отдельного соединения требуется 2 файловых дескриптора для обслуживания запроса через проксирование

  3. Nginx отсутствие расположения, которое обслуживает статические файлы прямо из бэкенда обхода файловой системы. Причина: если вы передаете любой статический файл через backend it достигает предела очень быстро

  4. Unicorn worker_processes 4. Причина: 4 рабочих недостаточно для обслуживания 1K RPM

  5. Система: я полагаю, что отсутствует оптимизация ядра. Взгляните Unicorn System Kernel советы

Похоже, что это может быть проблема с вашей конфигурацией Unicorn-она имеет отставание в 1024, что может вызвать некоторые проблемы, несмотря на то, что это настройка по умолчанию.

Из документацииUnicorn : "Если вы используете unicorn на нескольких машинах, снижение этого числа может помочь вашему балансировщику нагрузки обнаружить, когда машина перегружена, и передать запросы на другую машину."

В этом случае также может потребоваться мониторинг системных ресурсов. Пожалуйста, позвольте мы знаем, как это относится к вам!