Задать вопрос
@ultrix
Линукс, Виндовс, инженер.

Почему apache создаёт много процессов, что в итоге роняет систему?

Всем доброго времени суток.

Есть веб сервер zabbix 3.0 на виртуальной машине под управлением Debian 3.2.0-4-amd64 (vmware 12 ядер 8 гб оперативы). На нём:

NGINX - frontend, Apache - backend, php5.
Mysql на другой физической машине

Нагрузка на серв достаточно большая. В заббиксе огромное множество карт с тысячами элементов (думаю основная проблема именно в них). Пользователей одновременно может работать в районе 100.

Ситуация следующая. Относительно недавно веб сервер стал тормозить.
Плодятся процессы "/usr/sbin/apache -k start". Постоянно. Не зависимо от времени суток и соответсвенно загруженности сервера.

Плодятся они до того момента пока не кончиться память и сервер не перестаёт отвечать.

Ребутаем апач - всё отлично и шустро работает. Сервисы начинают плодиться, но всё равно всё быстро и шустро работает.
Проходит 10 минут, сервисов становится 25, проц загружен на 100% (все ядра по 100), но всё равно веба отвечает достаточно быстро.
Проходит 20 минут, сервисов уже штук 40, но нам пофиг, у нас всё работает круто
Проходит 30 минут, сервисов уже штук 60, мы еще терпим, памяти съедает гигов 5-6, но уже начинаются задержки.
Проходит 50 минут, сервисов уже штук 80, мы не выдерживаем и ощущая реальные тормоза отправляем апач в ребут.


Дальше всё по кругу. Не важно в какое время, в рабочее или глубокой ночью. Примерно в течении часа сервер помирает.

В apache2 error.log начинает ругаться только когда переполняется память и серв не может больше плодить процессы. В других логах так же вроде как чисто.

Я запарился с этим биться уже. Прошу советы в стиле "переустанови виндовс" не давать. Это будет уже самая крайняя стадия, пока что важно найти корень зла, а не вырубать весь лес.

Хочу так же добавить, что раньше был просто nginx + php5-fpm и ситуация была точно такая же, только пладились процессы php5-fpm. (это было хуже, потому что при загрузке в 100% всех ядер работать было не возможно, а при текущей ситуации, плодовитость процессов на скорость работы практически не влияет, пока они не сожрут всю память).

Скажу еще главную фразу: "раньше всё работало отлично в течении нескольких месяцев. никакие настройки я не менял и оно само"

Куда глянуть ? какой лог посмотреть ?
  • Вопрос задан
  • 3153 просмотра
Подписаться 3 Простой 9 комментариев
Пригласить эксперта
Ответы на вопрос 1
@smple
1. количество процессов которое допустимо описывается в конфиге апача (ищи worker) тоже самое и касается php-fpm, вывод надо открыть конфиг и указать максимальное количество обработчиков.
2. на забикс приходит обновление с различных устройств может быть стоит их не так часто отправлять и посмотреть конфиги забикса а также настройки по сбору обновлений ? потому ему может банально шлют слишком много данных которые он не в силах обработать и тут решение или уменьшать количество данных, или масштабировать сервер (вертикально или горизонтально)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы