Re: Постоянное соединение с upstream
Anton Yuzhaninov
citrin на citrin.ru
Пн Апр 19 17:07:13 MSD 2010
On 19.04.2010 16:37, Kpoxman wrote:
> Из-за кучи соединений у меня (в Linux) возникает ошибка "nf_conntrack: table
> full, dropping packet".
А зачем вообще фильтровать трафик между бэкендом и фронтендом через stateful
firewall.
IMHO firewall между фронтендом и бэкендом лучше вообще отключить, но если очень
нужно то должно хватьить stateless.
> Увеличил соответсвующий лимит - ошибка исчезла. Но вопрос остался: зачем
> создавать отдельное соединение на каждый запрос?
Для keep-alive нужна поддержка HTTP/1.1 (включая chunked encoding) при работе
nginx в качестве http-клиента (отправке запросов на бэкенд). Реализовать это не
очень просто, хотя сторонние патчи для этого вроде есть.
С другой стороны если между фронтендом и бэкендом быстрая сеть, а на бэкенде на
создание нового соединения стратися относительно малоресурсов, то keep-alive не
сильно нужен (экономит сравнительно мало ресурсов).
keep-alive между фронтендом и бэкедном реально полезен когда:
- между фронтендом и бэкендом относительно медленная сеть (сервера в разных ДЦ)
- бэкенд тратит на создание новой коннекции много ресурсов (например многие
сервера на java)
--
Anton Yuzhaninov
Подробная информация о списке рассылки nginx-ru