Задание cron для Ubuntu для решения проблемы оперативной памяти apache2

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

Я написал bash-файл и создал задание cron, которое каждую минуту проверяет использование оперативной памяти. Если он превышает 90%, apache2 перезагружается.

Это решило проблему медлительности, но есть ли у этого решения опасные побочные эффекты?

0
27.06.2020, 03:46
1 ответ

Не перезагружайте/перезапускайте сервер с помощью задания cron. Вы хотите перезапускать сервер каждую минуту, если сервер находится под нагрузкой? Что произойдет, если сервер не перезапустится?

Вам следует определить средний размер ваших процессов Apache и объем доступной памяти, который вы хотели бы потратить на все процессы Apache. и соответственно установитеMaxRequestWorkers(MaxClientsперед директивой Apache2.4 ), ваше текущее значение слишком велико.

Индикатором значения MaxRequestWorkersможет быть количество процессов Apache при достижении предела 90%.

Из Настройка производительности Apache -Проблемы с оборудованием и операционной системой

The single biggest hardware issue affecting webserver performance is RAM. A webserver should never ever have to swap, as swapping increases the latency of each request beyond a point that users consider "fast enough". This causes users to hit stop and reload, further increasing the load. You can, and should, control the MaxRequestWorkers setting so that your server does not spawn so many children that it starts swapping. The procedure for doing this is simple: determine the size of your average Apache process, by looking at your process list via a tool such as top, and divide this into your total available memory, leaving some room for other processes.

Дополнительная литература:

2
18.03.2021, 23:23

Теги

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