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/07 22:51 (внешнее изменение)