Инструменты пользователя

Инструменты сайта


wiki:technical:soft:web

Настройка Web сервера

Оптимизация конфигурации Apache

  • TimeOut - указывайте как можно меньшее значение для данной директивы (особенно для сервера, который может быть поддвержен DDoS атаке).
  • KeepAliveTimeout директва - также нужно снизить ее значение или полностю выключить. Значения различных тайм-аут директив, представленные другими модулями должны быть проверены.
  • Директивы LimitRequestBody, LimitRequestFields, LimitRequestFieldSize, LimitRequestLine, LimitXMLRequestBody должны быть тщательно настроены на ограничение потребления ресурсов, вызванных запросами клиентов.
  • Убедитесь что вы используете директиву AcceptFilter (на ОС которые поддреживают ее).По умолчанию она включена в конфигурации Apache httpd, но для своей работы может потребовать пересборку с новыми настройками ядра вашей ОС (*nix, *bsd).
  • Используйте директиву MaxClients чтобы указать максимальное количество клиентов которые смогут быть одновременно подключены к серверу, уменьшив значение директивы вы можете снизить нагрузку на web-сервер.
  • Выбор другого mpm-модуля может позволить вам обрабатывать больше одновременных соединений. По умолчанию в *nix системах устанавливается mpm - prefork, он наиболее прожорлив, и наимение производителен. См. обзор mpm модулей:

Некоторые консольные команды, необходимые при работе

Число процессов Apache:

# ps aux | grep httpd |wc -l

Число коннектов на 80 порт:

# netstat -na | grep :80 | wc -l

То же, в статусе SYN:

# netstat -na | grep :80 | grep syn

Пример SYN-флуда:

# netstat -na | grep :80 | grep SYN | wc -l 767

Посмотреть много ли разных IP:

# netstat -na | grep :80 | grep SYN | sort -u | more

На какой домен чаще всего идут запросы:

# tcpdump -npi eth0 port domain

Статус Apache:

# apachectl status

Посмотреть откуда IP или Domain:

# whois xxx.xxx.xxx.xxx

или:

# jwhois xxx.xxx.xxx.xxx

С какого IP сколько запросов:

# netstat -na | grep :80 | sort | uniq -c | sort -nr | more

Количество соединений с сервером:

# cat /proc/net/ip_conntrack | wc -l

Вывод информации в реальном времени, IP которые соединены с сервером и какое количество соединений по каждому IP:

# netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

Ссылки

wiki/technical/soft/web.txt · Последние изменения: 2017/04/09 20:53 — Администратор