Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: deferred и bind и много виртуальных хостов
Не совсем понял. У меня конфиг выглядит примерно так:
server {
listen 1.2.3.4:80;
server_name a b c d;
[...]
}
Процитированное повторяется многократно с разными server_name.
Я должен указать deferred только для самого первого вхождения listen
1.2.3.4:80?
Что будет, если указать для всех?
Будет ли bind для каждого server{} отдельно, если указать только для
первого вхождения?
Если использование deferred не хорошо, а у нас везде только
линукс/openvz (и, следовательно, нет возможсности использовать
httpready), то что же тогда использовать вместо?
04.05.2012 11:59, Igor Sysoev написал:
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, то я не уверен, что это
хорошо.
--
Best Regards,
Nick Knutov
http://knutov.com
ICQ: 272873706
Voice: +7-904-84-23-130
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|