При обрыве закачки со стороны клиента(отмены закачки в опере, обрыва вгета и
тп...) nginx не закрывает сокет до истечения send_timeout, хотя ОСь уже
закрыла соединение.
Всё бы ничего, но в этом случае ограничение сессий работает не так, как надо
- зависший сокет считается активным и входит в лимит.
В дебаг логе смущают записи
2007/01/18 01:05:20 [debug] 25899#0: epoll: fd:9 ev:0019 d:080C0780
2007/01/18 01:05:20 [debug] 25899#0: epoll_wait() error on fd:9 ev:0019
2007/01/18 01:05:20 [debug] 25899#0: *1 http read blocked
Т.е судя по ev:0019 = EPOLLERR|EPOLLHUP|EPOLLIN данные пришли в сокет и nginx
пытается их прочитать, но чтение блокируется по отсутсвии данных.
Ну и через минуту
2007/01/18 01:06:20 [info] 25899#0: *1 client timed out (110: Connection
timed out) while sending flv to client