суббота, 11 июня 2011 г.

Оптимизация взаимодействия веб-клиента и сервера - Настройка операционной системы

Для нагруженного сайта необходимость настройки сервера мало у кого вызывает удивление, да и для небольших веб-проектов стоит заранее предусмотреть опции защиты от DDOS-атак. По умолчанию Linux-системы имеют сетевые настройки, более подходящие для десктопов, нежели для серверов. Какие-либо общие рекомендации дать сложно, потому предлагаю читателям набор настроек, которые достаточно хороши для "среднего" сервера.


/etc/sysctl.conf

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0

net.ipv4.conf.default.rp_filter=1
net.ipv4.tcp_syncookies=1

net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 5

net.core.somaxconn = 1024
net.core.netdev_max_backlog = 4000
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_max_tw_buckets = 360000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1

net.core.rmem_default = 262144
net.core.wmem_default = 262144

net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

Посмотрев описания и рекомендации для перечисленных параметров в документации, вы сможете вполне прилично настроить свой сервер. Возможно, вам потребуются далеко не все из названных настроек, постарайтесь ограничиться минимумом изменений или попробовать использовать вышеприведенный конфиг "как есть".

Комментариев нет:


(C) Alexey Pechnikov aka MBG, mobigroup.ru