Автоматическая перезагрузка httpd

Psychedelic
На сайте с 13.02.2013
Offline
81
4588

Здравствуйте!

Подскажите пожалуйста как правильно сделать автоматическую перезагрузку httpd на centos, при достижения XX процессов?

Пишу расширения и моды phpBB3 ( http://9caratt.ru ) | Дешевые лицензии ISPmanager ( http://www.isplicense.ru/?from=10694 ) | Скачал-Раздавай! ( http://atorent.site )
pupseg
На сайте с 14.05.2010
Offline
347
#1

Psychedelic, зачем? Что бы через какое-то время снова появились эти процессы?

Причину плодящихся дочерних процессов не искали ?

Качественная помощь в обслуживании серверов. (/ru/forum/661100) Бесплатных консультаций не даю, не помогаю, не обучаю. Минималка от 100$. Как пропатчить KDE-просьба не спрашивать. Есть форумы (http://linux.org.ru) и полезные сайты (http://www.opennet.ru/).
M2
На сайте с 11.01.2011
Offline
342
#2

Psychedelic, как-то так...


#!/bin/bash
HTTPD="/etc/init.d/httpd"
PGREP="/usr/bin/pgrep"
HTTPSERVER="httpd"
NUM_PROCESSES=50

CNT=`$PGREP $HTTPSERVER | wc -l`

if [ $CNT -gt $NUM_PROCESSES ]; then
$HTTPD restart
else
exit;
fi

где NUM_PROCESSES - кол-во процессов, по достижении которого апач перестартовать

А, ну да, этот скрипт нужно ещё сделать исполняемым и повесить на крон )))

------------------- Крутые VPS и дедики. Качество по разумной цене ( http://cp.inferno.name/view.php?product=1212&gid=1 ) VPS25OFF - скидка 25% на первый платеж по ссылке выше
Psychedelic
На сайте с 13.02.2013
Offline
81
#3

pupseg Причина найдена, но решение требует времени, поэтому это временное решение очень нужно.

mark2011

Спасибо большое, попробую сделать, это по времени 5 сек займёт.

M2
На сайте с 11.01.2011
Offline
342
#4

Psychedelic, хм, апачу нужно как минимум секунду на рестарт, а вы крон хотите каждые 5 сек. сделать? Система не повесится?

Psychedelic
На сайте с 13.02.2013
Offline
81
#5

Можно сделать каждый час ...

isp к примеру тоже делает проверку

*/5 * * * * /usr/local/ispmgr/sbin/cron.sh sbin/ihttpd.check.sh

ничего же.

Den73
На сайте с 26.06.2010
Offline
523
#6

используйте monit

N
На сайте с 06.05.2007
Offline
419
#7

Psychedelic, так вы их ограничивайте. Но XX - это как-то много, лучше YY :) Достижение равновесия - стратегия более выгодная.

А MaxClients вообще самая полезная настройка apache.

Кнопка вызова админа ()
Psychedelic
На сайте с 13.02.2013
Offline
81
#8

mark2011 Что-то не срабатывает.

S
На сайте с 02.05.2014
Offline
61
#9
Psychedelic:
Подскажите пожалуйста как правильно сделать автоматическую перезагрузку httpd на centos, при достижения XX процессов?

Лучше ограничить их число.

Если используете prefork (из коробки именно он), то попробуйте настроить сервер /etc/httpd/conf/httpd.conf

<IfModule prefork.c>
StartServers 6 - количество процессов при запуске
MinSpareServers 6 - минимальное число дочерних процессов
MaxSpareServers 20 - максимальное число дочерних процессов
MaxClients 256 - максимальное число дочерних процессов
MaxRequestsPerChild 250 - как только дочерний процесс отработает 250 запросов, он будет удален
<IfModule>

Значения я привел для примера, т.ч. не тупо копируйте, а исходите из объема вашей памяти и числа посетителей.

Почитайте статью

Psychedelic
На сайте с 13.02.2013
Offline
81
#10

Спасибо за совет, но это я знаю, первым делом когда-то давно это настраивал, когда пошла сильная нагрузка, ещё раз настроил.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий