Re: Странное поведение с httpready и dataready

Maxim Dounin mdounin at mdounin.ru
Mon Mar 31 11:56:25 UTC 2014


Hello!

On Mon, Mar 31, 2014 at 02:45:09PM +0300, Vladislav Prodan wrote:

> 
> 
>  
>  --- Исходное сообщение ---
>  От кого: "Maxim Dounin" <mdounin at mdounin.ru>
>  Дата: 31 марта 2014, 14:35:14
>   
> 
> 
> > Hello!
> > 
> > On Sun, Mar 30, 2014 at 11:58:50AM +0400, Михаил Монашёв wrote:
> > 
> > > Здравствуйте, Vladislav.
> > > 
> > > >> > # grep accept_filter nginx.conf
> > > >> > listen xx.xx.xx.57 accept_filter=httpready accept_filter=dataready ;
> > > >> > listen xx.xx.xx.60 accept_filter=httpready accept_filter=dataready ;
> > > >> > listen xx.xx.xx.58 accept_filter=httpready accept_filter=dataready ;
> > > >> > listen xx.xx.xx.56 accept_filter=httpready accept_filter=dataready ;

Отдельно замечу, что такая конфигурация - смысла не имеет, и на 
самом деле включает только dataready.

> > > >> 
> > > >> Если я не ошибаюсь, то нет смысла использовать dataready, если есть
> > > >> httpready. Они про одно и тоже, только второй ещё проверяет, что
> > > >> пришедшие данные похожи на HTTP.
> > > >> 
> > > 
> > > > Тем не менее, сабж очень неприятный - лавинообразный рост мелких пакетов.
> > > > Хотелось бы выяснить, в этом виноват nginx или модули accf_http+accf_data ?
> > > 
> > > Оставьте один фильтр httpready и весь мусор, не похожий на HTTP до
> > > nginx-а не будет доходить.
> > 
> > Нет, фильтр httpready - пропускает всё, что не похоже на 
> > http (если совсем точно - на GET или HEAD-запрос). Его 
> > предназначение - дождаться, пока клиент пришлёт запрос полностью, 
> > тем самым по возможности уменьшив количество соединений в 
> > приложении. Но никаким отсечением чего-либо некорректного он не 
> > занимается.
> > 
> 
> Я выключаю httpready.
> Вот график кол-ва пакетов
> http://radikal.ru/fp/5d8a463d336143a483363e2e6199d442

Имеет смысл пожаловаться куда-нибудь в freebsd-net@, с более 
подробной диагностикой.  Ну или вот Глеб заинтересовался, Cc'd.

To Глеб:

Исходное письмо с фрагментом tcpdump'а тут:
http://mailman.nginx.org/pipermail/nginx-ru/2014-March/053686.html

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru