ПРОЕКТЫ 


  АРХИВ 


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: [PATCH] Stop write log after have a problems for write(3).



On Sat, Apr 18, 2009 at 02:47:53AM +0400, Anton Yuzhaninov wrote:

> Kirill A. Korinskiy wrote:
> >At Fri, 17 Apr 2009 22:14:32 +0400,
> >Igor Sysoev <is@xxxxxxxxxxxxx> wrote:
> >>Как долго длятся блокировки ?
> >>
> >
> >Честно? Не замерял. Зависит это скорее от файловой системы. Но 5-10
> >попыток записи на диск в случае отсутствия места хватит для потери
> >воркера.
> >
> >>Выключение лога - это радикальное решение, нужно делать временный
> >>отказ от логгирования по аналогии с access_log.
> >>
> >
> >Если закончилось место (а мне интересен этот вариант) -- это
> >радикальное решение позволит хоть как-то обслуживать клиентов.
> >
> 
> Когда был сделан патч для access_log, по моим тестам nginx вполне мог 
> проксировать около 1k (точные цифры не сохранились) запросов в секунду, 
> пытаясь при этом раз в секунду писать лог на переполненный раздел.
> 
> Если ожидание ошибки на write() занимает, например 50 мс, то при попытке 
> писать в access_log на каждый запрос воркер может обслужить 20 запросов в 
> секунду. Если пытаться писать раз в секунду, то у него останется еще 950 мс 
> для обслуживания запросов, т. е. он будет работать всего на 5% медленнее, 
> чем если отключить лог совсем.

Кстати, возможно имеет смысл пропускать не секунду, 10 секунд или минуту.

> Так что отключать лог совсем не нужно - достаточно не писать в него на 
> каждый запрос.
> 
> Если же ожидание одной операции записи занимает секунду, что с файловой 
> системой что то не так.


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.