Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь
Gena Makhomed
gmm на csdoc.com
Пн Ноя 30 11:57:20 MSK 2009
Dmitry Koterov wrote:
> Или я ошибаюсь, и параметр backlog в listen() ограничивает не
> число одновременно живущих соединений, а что-то еще?
>
> да.
>
> ListenBacklog - The maximum length of the queue of pending connections
>
> параметр ListenBacklog задает максимальную длину очереди ожидающих
> подключений на каждый listening socket, а не максимально возможное
> количество одновременно обрабатываемых запросов / занятых воркеров.
>
>
> Возможно, я ошибаюсь, но вот тут: http://linux.die.net/man/2/listen -
> написано что-то отличное от этого (кажется):
>
> Notes
>
> The behaviour of the /backlog/ parameter on TCP sockets changed with
> Linux 2.2. Now it specifies the queue length for /completely/
> established sockets waiting to be accepted, instead of the number of
> incomplete connection requests. The maximum length of the queue for
> incomplete sockets can be set using the *tcp_max_syn_backlog* sysctl.
> When syncookies are enabled there is no logical maximum length and this
> sysctl setting is ignored. See /*tcp
> <http://linux.die.net/man/7/tcp>*(7)/ for more information.
backlog - completely established sockets waiting to be accepted
- пока сервер не сделает accept() - эти completely established
соединения находятся в "queue of pending connections" сокета.
TCP / Установка соединения:
http://ru.wikipedia.org/wiki/TCP#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D1.81.D0.BE.D0.B5.D0.B4.D0.B8.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F
syncookies и tcp_max_syn_backlog используются только в процессе
установки соединения. см. также http://en.wikipedia.org/wiki/SYN_flood
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru