LINUX.ORG.RU
ФорумAdmin

Как настроить cron на удаление зависших процессов апача?


0

2

Как настроить cron на удаление зависших процессов апача? Ниже как настроен апач

# Timeout: The number of seconds before receives and sends time out. # Timeout 300

# # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to «Off» to deactivate. # KeepAlive On

# # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100

# # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 15

## ## Server-Pool Size Regulation (MPM specific) ##

# prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # MaxClients: maximum number of server processes allowed to start # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 256 MaxRequestsPerChild 1 </IfModule>

# worker MPM # StartServers: initial number of server processes to start # MaxClients: maximum number of simultaneous client connections # MinSpareThreads: minimum number of worker threads which are kept spare # MaxSpareThreads: maximum number of worker threads which are kept spare # ThreadLimit: ThreadsPerChild can be changed to this maximum value during a # graceful restart. ThreadLimit can only be changed by stopping # and starting Apache. # ThreadsPerChild: constant number of worker threads in each server process # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_worker_module> StartServers 2 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 ThreadsPerChild 25 MaxClients 256 MaxRequestsPerChild 1 </IfModule>

# event MPM # StartServers: initial number of server processes to start # MaxClients: maximum number of simultaneous client connections # MinSpareThreads: minimum number of worker threads which are kept spare # MaxSpareThreads: maximum number of worker threads which are kept spare # ThreadsPerChild: constant number of worker threads in each server process # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_event_module> StartServers 2 MaxClients 256 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 ThreadsPerChild 25 MaxRequestsPerChild 1 </IfModule>

Но это не помогает, у одного из пользователей всё время виснут процессы апача

Даже не знаю, как такие запросы назвать — поиск велосипеда или все-таки костыля?
Слей ткуда-нибудь рабочий конфиг, долой извращения!

Kor03d ★★
()

Прочитайте про разметку LOR-code и оформите эту простыню в более приятный глазу вид

zolden ★★★★★
()

Осиль настроить monit, а лучше разберись в причине подвисаний. cron здесь вообще не при чем

p.s. да, и осиль лоркод

leave ★★★★★
()
Последнее исправление: leave (всего исправлений: 1)
Ответ на: комментарий от baverman

я тоже был техподдержкой шареда, и клиенты, создающие проблемы, ставились перед выбором: или фиксите скрипты, или идете к другому хостеру. Это дешевле, чем городить велосипеды.

leave ★★★★★
()
Ответ на: комментарий от leave

А посоветуйте что делать. зависаеют вот эти процессы /usr/bin/php-cgi php , их становится 32 и вылазит ошибка 500 на сайтах. Плодится они начинают с разным интервалом, бывает раз в три дня, а бывает за день 5 раз. Плюс к этому они нагружают mysql который даёт нагрузку 100% на сервер. Когда их удаляешь - то и нагрузка на mysql cpu уменьшается минут через 30

rokmail
() автор топика
Ответ на: комментарий от rokmail

«Уважаемые ученые, у меня в подвале происходит подземный стук. Объясните пожалуйста, отчего он происходит.»©

Самый простой костыль - написать скрипт, который будет определять, та это ситуация или не та. И потом мочить всех неугодных.

om-nom-nimouse ★★
()
Ответ на: комментарий от rokmail

Но вообще, php-cgi сам по себе тот ещё костыль. Переходите лучше на mod_php.

om-nom-nimouse ★★
()
Ответ на: комментарий от rokmail

через какой модуль апача запускается php-cgi? их минимум четыре есть - mod_cgi, mod_cgid, mod_fastcgi и mod_fcgid. не считая что есть еще собственный php-fpm.

Komintern ★★★★★
()
Последнее исправление: Komintern (всего исправлений: 1)
Ответ на: комментарий от GoNaX

запускаются они через mod_cgi. Когда я вижу зависшие процессы я их в htop завершаю по команде kill sigterm - пока не набралось до 32. Вот и хочу какой-то скрипт, что будет их удалять как только они будут виснуть или при достижении 10 штук

rokmail
() автор топика
Ответ на: комментарий от rokmail

осиль ulimit, а лучше просто выбрость php-cgi. Если нужно разделение по правам, то проще mod_php и mpm_itk апачевые.

leave ★★★★★
()

man monit, там можно ребутать апач, если у него набирается установленное количество процессов потомков.

Tark ★★
()
Ответ на: комментарий от Tark

Благодарю за советы. Буду пробовать улучшить настройки. Причину на зависающем сайте нашёл. Зависает поисковый скрипт и даёт большую нагрузку. Удалил поиск с сайта - пока висяков нет, нагрузка в норме.

rokmail
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.