x-accel-redirect

Anton Yuzhaninov citrin at citrin.ru
Thu Feb 23 13:52:44 MSK 2006


Здравствуйте Dmitriy,

22 февраля 2006 г., 23:36:14, Вы писали:

DM> Igor Sysoev wrote:

>> 
>> Так и реализовано. nginx планировался не для mass-virtual hosting,
>> а прежде всего для rambler.ru - то, что мне как админу не нравилось
>> в Апаче, в nginx'е сделано по-другому.
>> 
DM> Ну, апач тоже тогда не для масс-хостинга, ибо те же virtualhost с 
DM> открытыми логами.

>> По уму, для mass-virtual hosting логи нужно открывать по необходимости
>> и закрывать при неактивности.
>> 
DM> Что не гарантирует спасения, ибо в часы пик вполне может быть нагрузка
DM> на 70-80% виртуальных хостов. Для массхостинга с десятками тысяч хостов
DM> скорее уж посылать все логи в один файл и после с ним что-то делать.
DM> Что, правда, не помогает в случае error_log =(

В nginx можно разбирать и error_log это не apache.

А делать это можно, например так:

nginx все логи пишет в файл.

Висит отдельный процесс, который читает этот файл так же как это
делает tail -f. Для каждого виртул хоста держит маленьки буфер.
Например если буфер 1к и на сервере 10000 хостов то теоретический
максимум потребляемой памяти - 10 Мб, реально будет меньше.

Как только буфер заполнятся открывается файл для данного вирт. хоста и
содержимое буфера пишется в файл.

Через определенное время неактивности этот файл закрывается.

И в итоге у нас будут постоянно открыты логи только активно посещаемых
сайтов. Если буфер сделать больше, то открытых файлов будет меньше без
частых операций открытия - закрытия.

-- 
 С Уважением,
 Антон Валерьевич Южанинов.






More information about the nginx-ru mailing list