ПРОЕКТЫ 


  АРХИВ 


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[3]: x-accel-redirect



Hi, Anton.

>>> По уму, для mass-virtual hosting логи нужно открывать по необходимости
>>> и закрывать при неактивности.
DM>> Что не гарантирует спасения, ибо в часы пик вполне может быть нагрузка
DM>> на 70-80% виртуальных хостов. Для массхостинга с десятками тысяч хостов
DM>> скорее уж посылать все логи в один файл и после с ним что-то делать.
DM>> Что, правда, не помогает в случае error_log =(
> В nginx можно разбирать и error_log это не apache.
> А делать это можно, например так:
> nginx все логи пишет в файл.
> Висит отдельный процесс, который читает этот файл так же как это
> делает tail -f. Для каждого виртул хоста держит маленьки буфер.
> Например если буфер 1к и на сервере 10000 хостов то теоретический
> максимум потребляемой памяти - 10 Мб, реально будет меньше.

 Испытано на людях. Бредовая идея держать ЕЩЁ ОДИН процесс (tail)
посередине, через ядро будет прокачиваться В 2 РАЗА БОЛЬШЕ данных
:-))). Это раз. Второе - скорость этого дела будет (в т.ч. из-за см.
выше) сильно страдать, ибо tail как мне кажется не просто читает, она
ж строки выделяет, это плюсом лишняя нагрузка.
 Нужен максимум 1 процесс, хотя, судя по словам Игоря "писать надо в
файловую систему", даже он может быть уже лишним...

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

 Если у него 10000 файлов и более, а хосты в случайном порядке, скажем
70%, регулярно посещаются ... Думается что либо оно будет их постоянно
одни закрывать другие открывать (если таймаут поменьше), либо откроет
все 7000 (если таймаут побольше), что даже более эффективно - лучше уж
держать 7000 дескрипторов и писать по мере поступления, чем
периодически ДОПОЛНИТЕЛЬНО открывать файлы. Ибо это как мне кажется
будет совершенно лишняя нагрузка на ОС - раз в секунду открывать +
закрывать 1-ы...10-ки файлов только лишь для этого логгера.

-- 
engineer




 




Copyright © Lexa Software, 1996-2009.