Hello Igor,
>>
>> А на 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 секунд сам же закрывает соединение по
таймауту.
Поднял уровень логирования ошибок:
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 это время в секундах?
В логах две соседние строчки через 40 секунд (1-я колонка [$msec]):
[1143024166.962] 0 "GET /empty.gif HTTP/1.0" 200 231 "-" "http_load 04jan2002"
[1143024206.977] 0 "GET /empty.gif HTTP/1.0" 200 231 "-" "http_load 04jan2002"
И http_load говорит про 40 секунд - столько же сколько и в конфиге.
--
Anton Yuzhaninov.