Спасибо за советы! <br><br>Что касается backlog на стороне сокета, то видите ли, какая штука... ограничение нужно не per-socket, а per-HTTP_HOST (грубо говоря). Т.е. на одном IP висит много виртуальных хостов, и на каждый должно идти, скажем, не больше 5 одновременных коннектов (а на весь сокет - ограничения нет). Можно, конечно, каждый хост на свой внутренний IP повесить, но хочется чего-то более универсального.<br>
<br>Про haproxy я и не подумал... В нем точно можно вот так сделать, когда на одном и том же IP висят несколько виртуальных хостов, и ограничение установлено по каждому?<br>
<br>
<br><br><div class="gmail_quote">2009/11/17 Gena Makhomed <span dir="ltr">&lt;<a href="mailto:gmm@csdoc.com">gmm@csdoc.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">Dmitry Koterov wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Требуется ограничить именно число коннектов к backend-ам, так, чтобы входящие соединения вставали в очередь, если все backend-ы заняты.<br>
</blockquote>
<br></div>
такая функциональность встроена в TCP/IP, это регулируется на backend`ах<br>
параметр backlog - &quot;number of pending connections that can be queued up&quot;<br>
<br>
<a href="http://en.wikipedia.org/wiki/Berkeley_sockets#listen.28.29" target="_blank">http://en.wikipedia.org/wiki/Berkeley_sockets#listen.28.29</a><br>
<br>
наверное проще будет настроить на backend`ах параметр backlog,<br>
чем дублировать в nginx функциональность из TCP/IP стека ядра.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    Как известно, директива limit_conn позволяет ограничивать<br>
    одновременной число соединений к той или иной зоне. Однако, когда<br>
    это число превышается, nginx выдает 503.<br>
</blockquote>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    Есть ли в nginx какое-то средство, которое бы позволило ставить<br>
    &quot;лишние&quot; запросы в очередь, а не давать им отлуп? Например, я хочу,<br>
    чтобы на backend шло одновременно не более 5 соединений, а все<br>
    остальные ставились nginx-ом в очередь.<br>
</blockquote>
<br></div>
в новых версиях PHP дефолтовый backlog уже увеличили с 5 до 128.<br>
<br>
-- <br>
Best regards,<br><font color="#888888">
 Gena<br>
<br>
<br>
</font></blockquote></div><br>