Очередь подключений

Igor Sysoev is at rambler-co.ru
Tue Sep 15 18:30:11 MSD 2009


On Tue, Sep 15, 2009 at 06:09:55PM +0400, gf pro wrote:

> WTF?! Таким образом если есть два воркера, на 1 воркере лимит достигнут, а
> на втором нет, то часть запросов будет пожираться занятым воркером, хотя они
> могут быть обработаны свободным воркером.Надо либо вовсе не делать accept()
> когда лимит достигнут, либо делать его с небольшим таймаутом после получения
> события на чтение бинд-сокета, таким образом если есть свободные воркеры,
> они захавают его быстрее чем занятый.

Там есть искусственный интеллект, который ограничивает число accept()ов
в виде

       ngx_accept_disabled = worker_connections / 8 - free_connections

Если ngx_accept_disabled > 0, то воркер пропускает ngx_accept_disabled
инераций accept()ов, но для 10 работаеть будет плохо. И не будет работать
вообще для предлагаемого сценария.

> 15 сентября 2009 г. 17:08 пользователь Igor Sysoev <is at rambler-co.ru>написал:
> 
> > On Mon, Sep 14, 2009 at 11:22:39PM +0400, gf pro wrote:
> >
> > > worker_connections 10;workers_processes 1;
> >
> > Нет, сейчас worker сначала делает accept(), а потом убеждается, что
> > у него нет свободных connections.
> >
> > > ну и backlog побольше (somaxconn) ;-)
> > >
> > > 14 сентября 2009 г. 21:28 пользователь Борис Долгов <boris at dolgov.name
> > >написал:
> > >
> > > > Ну так задайте вопрос по-нормальному, чтобы получить нормальный ответ.
> > > >
> > > > 14 сентября 2009 г. 17:35 пользователь Alexey Vlasov <renton at df.ru>
> > > > написал:
> > > > > Это вообще все не то.
> > > > >
> > > > > On Mon, Sep 14, 2009 at 04:44:07PM +0400, Eugene Mychlo wrote:
> > > > >> Alexey Vlasov wrote:
> > > > >>> Привет друзья.
> > > > >>>
> > > > >>> А вот можно ли сделать так, чтобы nginx принимал не более 10
> > > > >>> одновременных соединений, и если лимит превышен, то клиенту не
> > 500-ая
> > > > >>> или какая там ошибка, а его соедение в очередь ставилось до тех
> > пор,
> > > > >>> пока либо соедение не освободится, либо N секунд не пройдет.
> > > > >>>
> > > > >>> ОС Linux.
> > > > >>>
> > > > >>>
> > > > >> http://sysoev.ru/nginx/docs/http/ngx_http_limit_zone_module.html
> > > > >> http://sysoev.ru/nginx/docs/http/ngx_http_limit_req_module.html
> > > > >
> > > > > --
> > > > > Alexey Vlasov
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > С уважением, Борис Долгов.
> > > > icq 77556665
> > > > e-mail boris at dolgov.name
> > > >
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> >

-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list