ПРОЕКТЫ 


  АРХИВ 


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).



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% медленнее, чем если отключить лог совсем.

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

Если же ожидание одной операции записи занимает секунду, что с файловой 
системой что то не так.

--
 Anton Yuzhaninov



 




Copyright © Lexa Software, 1996-2009.