Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master_file_limit
23.02.2010 00:54, Kirill A. Korinskiy wrote:
At Mon, 22 Feb 2010 16:27:51 +0200,
Alex Vorona <voron@xxxxxxxxxx> wrote:
21.02.2010 23:56, Igor Sysoev wrote:
On Mon, Feb 22, 2010 at 12:24:56AM +0300, Kirill A. Korinskiy wrote:
At Sun, 21 Feb 2010 14:03:07 +0200,
Alex Vorona <voron@xxxxxxxxxx> wrote:
Привет,
При попытке релоада nginx'а с конфигурацией, которая содержит > 1024 файлов(> 500 доменов,
по 2 лога на домен), nginx не релоадится с ошибкой
2010/02/21 12:42:42 [emerg] 17723#0: open() "/var/log/nginx/www.domain.com.error.log"
failed (24: Too many open files)
дык, он просто выставляет rlimit после того как прочел конфиг, а т.к. ошибка
происходит на
этапе чтения конфига, получаешь что получаешь. В случае reload у тебя уже есть
стотыщмильонов файловых дискрипторов, вот он и перечитывает их.
Игорь, а зачем было вообще делать rlimit? зачем дублировать ручку системы?
Появление worker_rlimit_... связано с рядом причин:
Я правильно понимаю, что master_rlimit_... не предвидится и стОит довольствоваться
системными ручками для поднятия лимитов? Не похоже, что проблема только у меня.
увы, но придется немного менять логику обработки конфига для реализации вашей
хотелки.
Если очень сильно хочется, могу вам патчик сделать. Хочется?
Спасибо, но поддерживать патчи ещё хуже чем rc.d-скрипты.
Единственное что мне не нравится - лимит нельзя поднять без прерывания в обслуживании.
reload работает пока # сокетов + # логов текущей конфигурации + # логов новой конфигурации
< лимита файловых дескрипторов, с которым был изначально запущен nginx. online upgrade
пока # сокетов + # логов новой конфигурации < лимита файловых дескрипторов, с которым был
изначально запущен nginx. Ну и в последнем случае nginx вообще не запустится без
предварительного увеличения лимита файловых дескрипторов. Лимит файловых дескрипторов для
worker'ов можно изменить с reload'ом, например при включении/увеличении open_file_cache, а
при увеличении количества логов - только подкрутка лимита в rc.d-скриптах и рестарт с
прерыванием обслуживания.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|