Прерванные соединения с сервером. Haproxy + Nginx + Единорог
Некоторые запросы к моему сайту были с ошибкой "Сервер неожиданно разорвал соединение", и в журналах ошибок нет ошибок.
Обороты 1-1.2к.
Есть ли у вас какие-либо идеи?
Вот конфиги haproxy, nginx и единорога:
2 ответа
Перед тем, как поделиться журналами, что очень важно, у вас неверная конфигурация:
Nginx worker_connections 3000 Причина: держите его в 2-3 раза больше, чем число активных соединений
Nginx worker_rlimit_nofile 20000. Причина: каждое отдельное соединение требует 2 файловых дескриптора для обслуживания запроса через прокси
Nginx - отсутствие расположения, которое обслуживает статические файлы прямо из обхода файловой системы. Причина: если вы передаете статический файл через бэкэнд, он очень быстро достигает предела
Unicorn worker_processes 4. Причина: 4 рабочих недостаточно для обслуживания 1K об / мин
Система: Я думаю, что не хватает оптимизации ядра. Ознакомьтесь с советами Unicorn System Kernel
Похоже, что это может быть проблема с вашей конфигурацией Unicorn - она имеет отставание 1024, что может вызвать некоторые проблемы, несмотря на то, что это настройка по умолчанию.
Из документации Unicorn: "Если вы работаете с Unicorn на нескольких машинах, уменьшение этого числа может помочь вашему балансировщику нагрузки определить, когда машина перегружена, и отправлять запросы на другой компьютер".
Может также стоить следить за ресурсами вашей системы, когда это происходит. Пожалуйста, дайте нам знать, как это идет для вас!