У нас есть следующая настройка: один сервер nginx в качестве балансировщика нагрузки перед четырьмя рабочими серверами приложений. Сервер nginx получает около 100 запросов в секунду, а иногда и больше, количество активных соединений в среднем составляет 110.
Через довольно регулярный интервал (1-2 секунды) приложение, которое обращается к балансировщику нагрузки nginx, получает кучу неудачных запросов, когда TCP-соединение не может быть установлено (время ожидания соединения). Проблема решается быстро, и следующая группа подключений обрабатывается нормально до следующей волны таймаутов подключения.
Я полагаю, что это небольшая нагрузка, и у nginx не должно возникнуть проблем с ее обработкой. Моей первой мыслью было настроить параметры sysctl ipv4 на основе различных страниц справки в Интернете, но пока безуспешно.
Я уже увеличил диапазон портов и снизил fin_timeout до 30. В netstat показано много соединений TIME_WAIT (~ 11k).
Есть у кого-нибудь идеи, что делать в таких случаях? Я понимаю, что может не быть однозначного ответа на вопрос, в чем проблема, но указатели приветствуются! Спасибо!