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