2008/11/19 Alex Vorona <span dir="ltr">&lt;<a href="mailto:voron@amhost.net">voron@amhost.net</a>&gt;</span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
19.11.2008 14:23, Sergey Shepelev wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><div class="Ih2E3d">
 &nbsp; &nbsp; &nbsp;&nbsp; Клиентов часто ДДоСят, поэтому редиректор тоже под большой<br>
 &nbsp; &nbsp; &nbsp; &nbsp;нагрузкой из-за этого.<br>
<br>
<br>
 &nbsp; &nbsp;таймауты tcp, лимиты на сокеты и тп.<br>
<br>
<br></div>
Совсем забыл упомянуть, ОС Linux, ядро <a href="http://2.6.18." target="_blank">2.6.18.</a> &lt;<a href="http://2.6.18" target="_blank">http://2.6.18</a>.&gt;<div class="Ih2E3d"><br>
<br>
К сожалению, ранее не имел дела с тюнингом системных переменных.<br>
Поправьте список, пожалуйста,<br>
<br>
net.ipv4.tcp_orphan_retries 4 # дефолтный был 7<br>
net.ipv4.tcp_fin_timeout 10 # дефолтный был 30<br>
net.ipv4.tcp_max_tw_buckets 60К # дефолтный был 180К, пишут, что этот параметр для защиты от простых ДоС<br>
net.ipv4.tcp_max_orphans 8192 &nbsp;# пишут, что этот параметр для защиты от простых ДоС и каждый орфан жрет 64к памяти<br>
net.ipv4.tcp_rmem 1K (default) (default) # то есть min я поставлю 1К, а default и max оставлю как есть<br>
net.ipv4.somaxconn 4K # если я правильно понимаю, это позволит выставить listen backlog=4K<br>
</div></blockquote>
да, только net.core.somaxconn<br>
<br>
можно включить ещё для борьбы с TIME_WAIT<br>
net.ipv4.tcp_tw_reuse<br>
net.ipv4.tcp_tw_recycle<br>
<br>
для того чтобы не было видно uptime по сети, можно выключить<br>
net.ipv4.tcp_timestamps<br>
<br>
Если используется statefull фаервол, то неплохо или выключить conntrack для 80-го порта(-t raw -J NOTRACK) или увеличить net.ipv4.ip_conntrack_max<br>
<br>
ну и в nginx &nbsp;reset_timedout_connection on;<br>
<br>
</blockquote></div><br>Спасибо, всё стало гораздо лучше.<br><br>Только вот я писал &quot;дефолтный был Х&quot;, это я на своей машине пробовал, на сервере оказались другие числа.<br>net.ipv4.tcp_orphan_retries на сервере оказалось был 0, причем в sysctl.conf не упомянут, подумал что увеличивать и не надо.<br>
net.ipv4.tcp_max_orphans на сервере оказалось пустое значение, побоялся менять.<br>net.ipv4.tcp_rmem тоже не менял.<br><br>и я не знаю как узнать statefull ли файрвол. Используется iptables.<br>