Оптимизация взаимодействия веб-клиента и сервера - Настройка операционной системы
Для нагруженного сайта необходимость настройки сервера мало у кого вызывает удивление, да и для небольших веб-проектов стоит заранее предусмотреть опции защиты от 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
Посмотрев описания и рекомендации для перечисленных параметров в документации, вы сможете вполне прилично настроить свой сервер. Возможно, вам потребуются далеко не все из названных настроек, постарайтесь ограничиться минимумом изменений или попробовать использовать вышеприведенный конфиг "как есть".
Comments