kqueue (was: Тест nginx vs apache)
Igor Sysoev
is at rambler-co.ru
Wed Mar 22 14:01:45 MSK 2006
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
More information about the nginx-ru
mailing list