ПРОЕКТЫ 


  АРХИВ 


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: kqueue (was: Тест nginx vs apache)



On Wed, 22 Mar 2006, Anton Yuzhaninov wrote:

А на 4.x и 5.x в качестве сервера смотрел ?

IS> Я сейчас проверил на 4.10 и 6.0. На 6.0 есть проблемы.

Проверил на 5.4 - проблем нет.

На 4.10 - зависания соединений нет, но зато в http_load есть ошибка
http://citrin.ru/empty.gif: byte count wrong
с ней надо разбираться отдельно.

А что касается 6-ки. Экспериментальным путем выяснено, что время
зависания процесса равно таймауту
client_header_timeout

Сделал client_header_timeout 40
и тест показал:
msecs/first-response: 77.6425 mean, 40000.1 max, 0.241 min

Netstat показывает

Recv-Q 85

Т. е. похоже запрос от клиента поступает в ядро, но nginx об этом не
уведомляется, и через 40 секунд сам же закрывает соединение по
таймауту.

У меня такое же впечатление, за исключением того, что kqueue может сообщить
о данных, но спустя какое-то время.

Поднял уровень логирования ошибок:
error_log  /spool2/logs/nginx/error.log info;

И в логе появилось вот что:

2006/03/22 13:37:33 [info] 92371#0: *5673288 client timed out (60: Operation 
timed out) while reading client request line, client: x.x.x.x
2006/03/22 13:38:14 [info] 92371#0: *5673943 client timed out (60: Operation 
timed out) while reading client request line, client: x.x.x.x

60 это время в секундах?

Нет, это код ETIMEDOUT.


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



 




Copyright © Lexa Software, 1996-2009.