Рейтинг:0

Как понять и оптимизировать память, используемую каждым процессом Apache

флаг gb

Мне известен метод получения средней памяти, используемой каждым процессом apache2, с помощью ps. Я наблюдал это, и он составляет около 18 МБ (хотя, похоже, он увеличился за последние 2 дня с 18 МБ в среднем до 25 МБ).

Наш сервер обслуживает API, который принимает некоторые данные и сохраняет их в базе данных mysql. API написан на PHP. Я использовал функции PHP mem_get_usage и mem_get_peak_usage, чтобы понять использование памяти, но они нигде не приближаются к 18 МБ.. (в основном показывает ниже 1 МБ)

Поэтому я не понимаю, что потребляет эту огромную память на процесс apache. Это стало узким местом, поскольку наша общая оперативная память ограничена, и с этим потреблением мы вынуждены ограничивать maxrequestworkers, что приводит к задержке в обслуживании клиентов при высоком трафике.

Типичный вывод от ps:

www-данные 30024 0,0 0,3 494384 26124 ? С 04:27 0:03 /usr/sbin/apache2 -k начать
www-данные 30077 0,0 0,3 494368 26136 ? С 04:28 0:04 /usr/sbin/apache2 -k начать
www-данные 30078 0,4 0,3 494360 25960 ? С 04:28 0:21 /usr/sbin/apache2 -k начать
www-данные 30080 0,1 0,3 494376 26140 ? С 04:28 0:05 /usr/sbin/apache2 -k начать
www-данные 30115 0,2 0,3 494448 26180 ? С 04:28 0:11 /usr/sbin/apache2 -k начать
www-данные 30124 0,1 0,3 494376 26212 ? С 04:28 0:07 /usr/sbin/apache2 -k начать
www-данные 30132 0,0 0,3 494376 26108 ? С 04:28 0:03 /usr/sbin/apache2 -k начать
www-данные 30135 0,0 0,3 494376 26164 ? С 04:28 0:04 /usr/sbin/apache2 -k начать
www-данные 30219 0,0 0,3 494352 26108 ? С 04:29 0:03 /usr/sbin/apache2 -k начать

Любые предложения о том, как контролировать использование памяти для каждого процесса apache2 и как его уменьшить/оптимизировать?

John Mahowald avatar
флаг cn
Какой httpd MPM вы используете? Как PHP запускается из httpd, mod_php или php-fpm или чего-то еще?
dgarg avatar
флаг gb
MPM - перфорк, и я вижу, что mod_php7 - один из загруженных модулей.
dgarg avatar
флаг gb
но я также вижу php-fpm как один из активных процессов: `root 682 0.0 0.1 368840 16140? Ss Jul27 0:48 php-fpm: основной процесс (/etc/php/7.0/fpm/php-fpm.conf), так что я не уверен, как запускается PHP

Ответить или комментировать

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