You wrote on Wednesday, March 22, 2006, 8:40:49 AM:
AS> Не используйте nginx на низконагруженных
AS> проектах (с)
Описанный эффект похоже наблюдается при любых нагрузках при
использовании kqueue() в 6-ке. Просто при больших он не заметен в
тесте http_load. Но возможно с некоторой очень небольшой вероятностью
клиент будет ждать около минуты.
Пробовал запускать http_load с двух разных машин на один и тот же
сервер.
На каждом наблюдалась такая картина - пачка запросов, потом какой то
таймаут порядка минуты, потом опять пачка запросов, потом опять около
минуты тишина.
При использовании slelect() все нормально, никаких таймаутов нет, все
идет равномерно как и должно быть.
А на 4.x и 5.x в качестве сервера смотрел ?
Я сейчас проверил на 4.10 и 6.0. На 6.0 есть проблемы.
tcpdump показывает, что клиент устанавливает соединение, посылает запрос
и получает ack. Отладочный лог nginx показывает, что он accept()ит
соединение, добавляет его в kqueue и ждёт. Через три секунды kqueue сообщает
о данных, пришедших три секунды назад.
Игорь Сысоев
http://sysoev.ru