Падает Apache...

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
100matolog
ст. сержант
Сообщения: 309
Зарегистрирован: 2008-05-30 12:11:16
Откуда: kiev
Контактная информация:

Падает Apache...

Непрочитанное сообщение 100matolog » 2014-04-24 11:33:49

Есть три сервера.
На всех стоит FreeBSD 9.2-RELEASE #0
Железо:
CPU: Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz (3200.18-MHz K8-class CPU)
memory : 64 GB ddr3
HDD: 2x240 GB SSD Intel
Network: 1 Gbit Intel card

На всех трех живет портал domen.com
Соответственно в днс - стоят три айпишника
На сервере живет апач 2.2.24, php 5.3, mysql 5.1 PerconaDB

Месяц назад начались проблемы
На серверах, то на одном, то на втором, то на третьем рандомно, начал ложится апач
Приблизительно в одно и тоже время.. с 9.00 до 12.00

А именно - error лог апача начинает мгновенно наполнятся воплями что

Код: Выделить всё

[Tue Apr 15 17:05:48 2014] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 0 idle, and 151 total children
[Tue Apr 15 17:05:49 2014] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 16 children, there are 2 idle, and 159 total children
[Tue Apr 15 17:13:53 2014] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 6 idle, and 165 total children
[Tue Apr 15 17:46:26 2014] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 6 idle, and 130 total children
[Tue Apr 15 17:56:38 2014] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 4 idle, and 138 total children
[Tue Apr 15 18:08:29 2014] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 3 idle, and 125 total children
И буквально через минуту появляется характерный признак пиз-ца

Код: Выделить всё

server reached MaxClients setting, consider raising the MaxClients setting
Параметры апача

Код: Выделить всё

Timeout 30
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 1
ServerLimit     100000

<IfModule prefork.c>
StartServers    150
MinSpareServers 10
MaxSpareServers 160
MaxClients      100000
MaxRequestsPerChild 20000
</IfModule>

ListenBackLog 10000
На момент падения апача снял показания:
  • netstat -an | grep -i esta |wc -l
    4464
Думал было что это SYN_FLOOD атака - но:
netstat -an | grep SYN - пусто

Код: Выделить всё

netstat -Lan
Current listen queue sizes (qlen/incqlen/maxqlen)
Proto Listen         Local Address         
tcp46 4336/0/10000   *.80                   
tcp46 0/0/2500       *.3306                 
tcp4  0/0/128        *.22                   
tcp6  0/0/128        *.22                   
tcp4  0/0/128        *.199                  
unix  0/0/2500       /tmp/mysql.sock
unix  0/0/4          /var/run/devd.pipe

Код: Выделить всё

cat /etc/sysctl.conf 

net.inet.carp.preempt=1
net.inet.ip.fw.dyn_max=16384
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.icmp.icmplim=400
net.inet.ip.intr_queue_maxlen=4096
net.inet.tcp.drop_synfin=1
net.inet.tcp.fast_finwait2_recycle=1
net.inet.tcp.finwait2_timeout=3000
net.inet.tcp.maxtcptw=200000
net.inet.tcp.msl=5000
net.inet.tcp.syncookies_only=1
net.inet.icmp.log_redirect=1
net.inet.icmp.drop_redirect=1
net.inet.ip.redirect=0
net.inet6.ip6.redirect=0
kern.maxfilesperproc=200000
kern.maxvnodes=256000
kern.maxfiles=204800
kern.maxfilesperproc=200000
kern.ipc.nmbclusters=262144
kern.ipc.maxsockets=204800
kern.ipc.somaxconn=10000

Код: Выделить всё

 cat /boot/loader.conf 
# Accept filters for data, http and DNS requests
# Useful when your software uses select() instead of kevent/kqueue or when you under DDoS
# DNS accf available on 8.0+
accf_data_load="YES"
accf_http_load="YES"
accf_dns_load="YES"
# If you have really busy webserver with apache13 you may run out of processes
kern.maxproc=15000
# Async IO system calls
aio_load="YES"
kern.ipc.nmbclusters=0
Gstat показывает низкую нагрузуку на диск

правилами фаервола ограничиваю соединения к апачу до 32 с одного адреса :

Код: Выделить всё

 #Global section >>>
	ipfw add check-state
        # Pass our Server
        ipfw add pass ip from 'table(1)' to 'table(0)' via ${oif}

        # Pass WEB from/to Internet
        ipfw add pass tcp from any to 'table(0)' 80 via ${oif} setup limit src-addr 32

        # Pass WEB from/to Internet
        ipfw add pass tcp from any to 'table(0)' 80 via ${oif} established

        # Pass Mail from/to Internet
        ipfw add pass tcp from any to 'table(0)' 25 via ${oif} setup limit src-addr 32

        # Pass Mail from/to Internet
        ipfw add pass tcp from any to 'table(0)' 25 via ${oif} established

        # Pass SSH, MySQL from/to Internet (Our HOSTS)
        ipfw add pass ip from 'table(2)' to 'table(0)' 22,443 via ${oif}

        # Pass PING from/to Internet (Our HOSTS)
        ipfw add pass icmp from 'table(2)' to 'table(0)' via ${oif} icmptypes 8

        # Allow Fragments
        ipfw add pass all from any to any frag

        # Paranoya!!!
        ipfw add deny ip from any to 'table(0)' 0-1024,3306,55610
Память не забита, мусклю хватает коннекшенов...

Не понимаю почему и где затыкается апач. :cz2:
Вложения
Снимок экрана 2014-04-24 в 10.54.03.png
подробная картина Netstat общая картина Netstat
Снимок экрана 2014-04-24 в 10.53.17.png
общая картина Netstat
Последний раз редактировалось f_andrey 2014-04-24 12:31:46, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Падает Apache...

Непрочитанное сообщение Alex Keda » 2014-04-27 18:38:39

оффтопик
а коннекшены в кактусе - чем снимаете?
Убей их всех! Бог потом рассортирует...

100matolog
ст. сержант
Сообщения: 309
Зарегистрирован: 2008-05-30 12:11:16
Откуда: kiev
Контактная информация:

Re: Падает Apache...

Непрочитанное сообщение 100matolog » 2014-04-27 18:51:23

Alex Keda писал(а):оффтопик
а коннекшены в кактусе - чем снимаете?
дак лежит же в гугле немеряно темплейтов для кактуса.
В пакете snmp идет утилитка snmpnetstat.
Она чудесно снимает показания с удаленного хоста и передает кактусу данные.

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: Падает Apache...

Непрочитанное сообщение Bayerische » 2014-04-27 19:59:58

Перед апачем фронта нету, получается? Самый простой способ разрядить обстановку.

100matolog
ст. сержант
Сообщения: 309
Зарегистрирован: 2008-05-30 12:11:16
Откуда: kiev
Контактная информация:

Re: Падает Apache...

Непрочитанное сообщение 100matolog » 2014-04-27 20:40:54

Был фронт.
Nginx.
Не помогло.
Его постигла таже участь.
Вернее апач.
В какой-то прекрасный момент, апач, стоявший на бекенде, свалился с воплем что у него

Код: Выделить всё

server reached MaxClients setting, consider raising the MaxClients setting

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Падает Apache...

Непрочитанное сообщение Alex Keda » 2014-04-27 21:55:53

100matolog писал(а):
Alex Keda писал(а):оффтопик
а коннекшены в кактусе - чем снимаете?
дак лежит же в гугле немеряно темплейтов для кактуса.
В пакете snmp идет утилитка snmpnetstat.
Она чудесно снимает показания с удаленного хоста и передает кактусу данные.
мне бы конкретное название шаблона
ибо гуглом, в принципе, пользоваться я умею =)
Убей их всех! Бог потом рассортирует...

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: Падает Apache...

Непрочитанное сообщение Bayerische » 2014-04-27 22:20:09

100matolog
На мой неискушённый в данном случае лучше был бы worker.
Вообще, пересмотрите все параметры mpm, крутите каждый вдумчиво после чтения мануала.

100matolog
ст. сержант
Сообщения: 309
Зарегистрирован: 2008-05-30 12:11:16
Откуда: kiev
Контактная информация:

Re: Падает Apache...

Непрочитанное сообщение 100matolog » 2014-04-28 9:50:51

100matolog писал(а):
Alex Keda писал(а):оффтопик
а коннекшены в кактусе - чем снимаете?
дак лежит же в гугле немеряно темплейтов для кактуса.
В пакете snmp идет утилитка snmpnetstat.
Она чудесно снимает показания с удаленного хоста и передает кактусу данные.
Изначально пытался прикрутить вот это http://jose-manuel.me/2012/05/how-to-gr ... ith-cacti/ - но перловский скриптец не завелся
посему нагуглил туже реализацию но на пхп. темплейт и скрипт в архиве в аттаче
Вложения
Архив.zip
(6.37 КБ) 8 скачиваний

100matolog
ст. сержант
Сообщения: 309
Зарегистрирован: 2008-05-30 12:11:16
Откуда: kiev
Контактная информация:

Re: Падает Apache...

Непрочитанное сообщение 100matolog » 2014-05-12 8:02:30

Вообщем кажется разобрался..
Программеры запилили на сайт AJAX онлайн просмотр свежих обновлений. И когда приходила толпа народу и включала эту аякс крутилку - апач умирал.

Обнаружил проблему при помощи небезызвестного /server-status.
Юзера открывали аякс крутилку сразу в нескольких вкладках браузера, отслеживая разные обьявления, при этом аякс зараза создавал туеву хучу сессий под каждую вкладку.. А юзеров в пике приходит до 8 тысяч...