Re: Странные 1024 коннекта

Alex Vorona voron на amhost.net
Вс Ноя 7 21:17:43 MSK 2010


07.11.2010 18:04, Gena Makhomed wrote:
> On 07.11.2010 17:39, Alex Vorona wrote:
>
>>>> worker_rlimit_nofile работает, пока число открытых файлов при
>>>> configtest
>>>> не превышает 1024. Потом - только увеличение лимита снаружи nginx.
>
>>> разумеется, ведь директива worker_rlimit_nofile изменяет лимит nofile
>>> только для worker-процессов, а конфиг с диска читает только master.
>>>
>>> кроме варианта "увеличение лимита снаружи nginx" есть еще два:
>>>
>>> * добавить директиву master_rlimit_nofile
>
>> Да, это, похоже, пригодилось бы.
>
>>> * использовать генаратор конфига, который будет на выходе делать один
>>> большой файл nginx.conf
>
>> Это не решает проблему с 1к+ логов в одном большом nginx.conf.
>
> а это точно необходимо - писать 1к+ логов в процессе работы nginx ?
>
> ведь это будет performance degrade из-за большого количества операций
> позиционирования при записи в каждый из этих лог-файлов
ОС тоже буфферизирует
> и/или избыточное
> использование памяти для буферизации операций записи. не лучше ли будет
> сделать post-обработку логов nginx скриптом на ionice idle priority,
> а из nginx писать только в один / несколько лог-файлов ?
>
логи ошибок уже так тривиально не попарсишь. Замедления в работе nginx именно из-за 
большого количества открытых файлов логов я не замечал.
Всё можно изменять, городя костыли, но зачем.  Например байт-логи со строчками размером в 
2-8 байт идентифицировать ещё дополнительно server_name'ом с разделителем на каждую 
строчку и потом парсить - imho оверхед. На том количестве доменов, на котором буфер для 
лога 1-16к будет занимать значительный размер в сумме - конфигурацию nginx уже придётся 
оптимизировать итак. А для инсталляций 1-5к доменов это ещё не будет избыточным 
использованием памяти.  AFAIK во FreeBSD до сих пор нет приоритетов IO.



Подробная информация о списке рассылки nginx-ru