Welcome! Log In Create A New Profile

Advanced

Re: когда лучше использовать multi_accept on

June 10, 2016 01:30PM
Благодарю.

10 июня 2016 г., 20:11 пользователь Валентин Бартенев <vbart@nginx.com>
написал:

> On Friday 10 June 2016 18:52:35 Sargas wrote:
> > Валентин, а скажите, пожалуйста почему будет много лишних вызовов
> accept()
> > с EAGAIN если соединений мало?
>
> Потому что в этом режиме, как я уже писал, nginx в цикле зовет accept() до
> тех пор, пока не получит EAGAIN.
>
> Таким образом на каждое событие на listen-сокете мы имеем минимум один
> вызов
> accept() с EAGAIN.
>
> Если рабочему процессу удастся принять 5 соединений, то это будет 5
> успешных
> accept()-ов и один неуспешный, а если всего одно, то пропорция 1 к 1.
>
>
> > Это будет только на Linux или на FreeBSD так же?
>
> На FreeBSD директива ни на что не влияет. Там kqueue сообщает о количестве
> пришедших соединений в событии и ровно столько раз nginx позовет accept().
>
>
> >
> > На FreeBSD есть accept filter, соответственно если он включен в системе
> и в
> > конфиге nginx, то система знает сколько соединений прошли фильтр и готовы
> > для accept. Правильно ли я понимаю что рабочему процессу остается
> > обработать известное кол-во соединений и не делать много лишних accept c
> > EAGAIN в этом случае?
>
> Accept filter тут не причем. Как я уже описал выше, kqueue сам по себе
> сообщает
> сколько соединений пришло в сокет (независимо от того, используется ли
> accept
> filter или нет), в то время, как epoll сообщает только о факте наличия
> новых
> соединений, но не их количество.
>
> Про accept filter Игорь писал очень давно:
> http://sysoev.ru/freebsd/accept-filters.html
>
> В Linux аналогичной цели (уменьшение числа переключений контекста) может
> служить
> опция TCP_DEFER_ACCEPT.
>
> --
> Валентин Бартенев
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

когда лучше использовать multi_accept on

VovansystemS May 26, 2016 02:50PM

Re: когда лучше использовать multi_accept on

VovansystemS June 10, 2016 01:42AM

Re: когда лучше использовать multi_accept on

Yuriy Medvedev June 10, 2016 01:50AM

Re: когда лучше использовать multi_accept on

VovansystemS June 10, 2016 02:10AM

Re: когда лучше использовать multi_accept on

Yuriy Medvedev June 10, 2016 03:08AM

Re: когда лучше использовать multi_accept on

VovansystemS June 10, 2016 07:06AM

Re: когда лучше использовать multi_accept on

Валентин Бартенев June 10, 2016 09:00AM

Re: когда лучше использовать multi_accept on

VovansystemS June 10, 2016 10:18AM

Re: когда лучше использовать multi_accept on

Sargas June 10, 2016 11:54AM

Re: когда лучше использовать multi_accept on

Валентин Бартенев June 10, 2016 01:12PM

Re: когда лучше использовать multi_accept on

Sargas June 10, 2016 01:30PM

Re: когда лучше использовать multi_accept on

S.A.N June 10, 2016 10:10AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 311
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready