On Tue, Aug 28, 2007 at 07:12:52PM +0400, Монашёв Михаил wrote:
> > Это filelist lock. Как от него избавиться - не знаю.
> > Насколько я понимаю, используется unix sockets ?
>
> Нет. nginx через unix sockets ни с кем не работает. Он только статику
> отдаёт и Апачам динамику проксирует. Больше ни с кем не работает...
Ну в общем, это обычный лок, на zonelimit совсем не похоже.
> Кстати, а что с нехронологическими логами? Почему они пишутся так
> странно?
Когда nginx получает события из ядра, он проверяет время и если
секунды изменились, то он создаёт новые строки для error-лога, http-лога
и прочая. Эти строки используются до следующего получения событий из
ядра (при условии, что секунды снова изменятся).
При этом возможны ситуации, когда один процесс получил события
в 00:00:00.99, поэтому он использует строку "00:00:00". В процессе
обработки запроса он делает что-то вроде open()/fstat()/sendfile()/close()
и если файл небольшой, то запрос завершится без дополнительного
получения событий из ядра. В лог попадёт строка "00:00:00".
В любой момент рабочий процесс может прерван другим рабочим процессом,
особенно, если первый пошёл на диск за файлом (~20ms). Второй рабочий
процесс запишет в лог "00:00:01". А потом в лог будет писать первый процесс.
--
Игорь Сысоев
http://sysoev.ru