Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ограничение на число одновременных соединений , но с постановкой лишних в очередь
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
|