ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: deferred и bind и много виртуальных хостов



On Fri, May 04, 2012 at 11:48:50AM +0600, Nick Knutov wrote:
> Из документции:
> 
> deferred
>   указывает использовать отложенный accept() на Linux с помощью опции 
> TCP_DEFER_ACCEPT.
> 
> bind
>   указывает, что для данной пары адрес:порт нужно делать bind() 
> отдельно. [...] в этом случае для определения адреса, на которой пришло 
> соединение, делается системный вызов getsockname(). Если же используются 
> параметры [...], deferred или so_keepalive, то для данной пары 
> адрес:порт всегда делается отдельный вызов bind().
> 
> Вопрос: виртуальный хостинг, сотни/тысячи server{}, если у каждого 
> listen прописать deffered - это как-то скажется [значительно] на 
> потребление процессора, памяти или чего-то ещё? Или в этом случае лучше 
> сделать отдельный фронтенд с nginx с listen *.80 deferred, который будет 
> проксировать на основной nginx, который как сейчас (с перевешиванием, 
> например, на unix socket), который уже будет проксировать на разные 
> бэкенды дальше?

deferred указывается один раз для listen-пары, то есть,

server {
    listen 80 deferred;
    server_name _;
}

server {
    listen 80;
    server_name a;
}

server {
    listen 80;
    server_name b;
}

server {
    listen 80;
    server_name c;
}

Что касается использования собственно deferred, то я не уверен, что это
хорошо.


-- 
Igor Sysoev

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.