FreeBSD + Kqueue/Poll + Libevent

Alexandr Gomoliako zzz на zzz.org.ua
Чт Авг 18 14:10:19 UTC 2011


On 8/18/11, urri <nginx-forum at nginx.us> wrote:
> - сокет регистрируется в Kqueue и ожидает
> поступления данных для чтения.
> - проходит время таймаут (60 секунд), Nginx
> закрывает соединение со своей стороны.
> - Kqueue сообщает о появлении данных для
> чтения и возвращает сокет в Libevent, затем
> данные попадают обработчику бэкенд
> сервера.

Т.е. сервер ожидает данные, когда не должен. Наверное где-то при
обработке запроса что-то посчитало, что надо больше данных для
продолжения.
Убедитесь, что правильно парсите запрос. Создавайте подробные
дебаг-логи, записывайте ктрейс параллельно.

> Переключение бэкенд сервера с
> использования Kqueue на Poll решает

Сомнительно.

Попробуйте libev, у него есть libevent-совместимый API.


Подробная информация о списке рассылки nginx-ru