<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word"><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r">
<TITLE>Сообщение</TITLE>

<META content="MSHTML 6.00.3790.1039" name=GENERATOR><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: Tahoma;
}
@page Section1 {size: 595.3pt 841.9pt; margin: 2.0cm 42.5pt 2.0cm 3.0cm; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.EmailStyle18 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal-reply
}
DIV.Section1 {
        page: Section1
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=RU vLink=blue link=blue>
<DIV><SPAN class=509092910-11032006><FONT face=Arial color=#0000ff>Это малость 
более кровожадно, чем следовало бы. По-настоящему актуальная задача - ограничить 
число АКТИВНЫХ соединений. К примеру, нужно обеспечить каждого клиента одним 
соединением с бэкэндом. При этом не важно, сколько соединений у него к статике и 
уж тем более не нужно давать отлуп для второго и прочих соединений. Просто 
каждому клиенту выделить один активный сокет, а остальные в режиме ожидания, как 
делает апач при исчерпании maxclients и, видимо, nginx при загруженности всех 
воркеров. Но сейчас очередь обработки живет своей жизнью, а вот в ней бы было 
здорово порядок наводить - кого-то всегда ставить в конец, кому-то позволять 
захватывать несколько воркеров, а кому-то - только один. Ну и 
т.д.</FONT></SPAN></DIV>
<DIV><SPAN class=509092910-11032006><FONT face=Arial color=#0000ff>Сейчас такую 
задачу решить в принципе невозможно, приходится делать что-то подобное, ставя 
между фронтэндом и бэкэндом на разных потоках еще апач с maxclients 5, скажем. 
По крайней мере можно гарантировать, что на бэкэнд не посыслятся подключения с 
низкоприоритетного потока и этот поток не сожрет все ресурсы.&nbsp;Но даже 
такое&nbsp;нагромождение требуемого эффекта не дает - один герой может сожрать 
весь поток, причем даже без злого умысла. Уж не говоря про накладные расходы, 
геморой по администрированию и устойчивость.</FONT></SPAN></DIV>
<DIV><SPAN class=509092910-11032006><FONT face=Arial color=#0000ff>Вообще, 
гибкий инструмент с регуляцией числа&nbsp;http-соединений нужен и никакие 
IPTABLES с reject тут не помогут. И то, что тема ограничения числа соединений 
всплывает&nbsp;с завидным постоянством - тому подтверждение.&nbsp;Десятое 
подключение можно отреджектить, но второе&nbsp;же так&nbsp;убивать нельзя. Я бы 
даже на&nbsp;четвертое руку не поднял.</FONT></SPAN></DIV><!-- Converted from text/plain format --><BR>
<P><FONT size=2>D&amp;C GameMaster<BR>www.the-game.ru </FONT></P>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV></DIV>
  <DIV class=OutlookMessageHeader lang=ru dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Original Message-----<BR><B>From:</B> Majordomo Pseudo User 
  [mailto:majordom@ontico.ru] <B>On Behalf Of </B>Дмитрий<BR><B>Sent:</B> 
  Saturday, March 11, 2006 12:44 PM<BR><B>To:</B> 
  nginx-ru@sysoev.ru<BR><B>Subject:</B> RE: Ограничение активных коннектов на 
  один ip адрес<BR><BR></FONT></DIV>
  <DIV class=Section1>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Для</SPAN></FONT><FONT 
  face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"> <SPAN 
  lang=EN-US>iptable </SPAN></SPAN></FONT><FONT face=Arial color=navy 
  size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">можна</SPAN></FONT><FONT 
  face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"> </SPAN></FONT><FONT 
  face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">использовать</SPAN></FONT><FONT 
  face=Arial color=navy size=2><SPAN lang=EN-US 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">:<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN lang=EN-US 
  style="FONT-SIZE: 12pt">iptables -A INPUT-p tcp --dport 80 -m iplimit 
  --iplimit-above 10 -j REJECT</SPAN></FONT></P></DIV></BLOCKQUOTE></BODY></HTML>