Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gena Makhomed gmm at csdoc.com
Tue Nov 17 11:18:51 MSK 2009


Dmitry Koterov wrote:

> Требуется ограничить именно число коннектов к backend-ам, так, чтобы 
> входящие соединения вставали в очередь, если все backend-ы заняты.

такая функциональность встроена в TCP/IP, это регулируется на backend`ах
параметр backlog - "number of pending connections that can be queued up"

http://en.wikipedia.org/wiki/Berkeley_sockets#listen.28.29

наверное проще будет настроить на backend`ах параметр backlog,
чем дублировать в nginx функциональность из TCP/IP стека ядра.

>     Как известно, директива limit_conn позволяет ограничивать
>     одновременной число соединений к той или иной зоне. Однако, когда
>     это число превышается, nginx выдает 503.

>     Есть ли в nginx какое-то средство, которое бы позволило ставить
>     "лишние" запросы в очередь, а не давать им отлуп? Например, я хочу,
>     чтобы на backend шло одновременно не более 5 соединений, а все
>     остальные ставились nginx-ом в очередь.

в новых версиях PHP дефолтовый backlog уже увеличили с 5 до 128.

-- 
Best regards,
  Gena






More information about the nginx-ru mailing list