Рейтинг:0

Apache устанавливает максимальное количество подключений после обновления сервера

флаг in

Недавно я обновил веб-сервер с Debian 8 до Debian 11, ошибок, связанных с Apache, замечено не было. До обновления сайт работал стабильно. Единственным изменением конфигурации было переключение на php7.4 с php5.

Apache настроен на использование mpm-prefork с MaxRequestWorkers, изначально установленным на 150. После обновления максимальное количество подключений было достигнуто несколько раз. Первые несколько раз я увеличил MaxRequestWorkers до 200, затем до 256. Затем я проанализировал серверное оборудование, не настроив его, и установил ServerLimit на 400 с MaxRequestWorkers на 300. Он все еще достигает этого предела. Когда это произойдет, мне нужно перезапустить службу Apache, systemctl перезапустить apache2. Если я этого не сделаю, он будет продолжать не отвечать, пока не будет перезапущен.

Я извлек и проанализировал журналы с помощью GoAccess и не нашел доказательств DOS-атак или плохих клиентов. Такое ощущение, что обновление где-то вызвало проблему. Поиск возможных идей относительно того, почему это может быть.

Изменить: обнаружена вторая, возможно, связанная проблема, из-за которой файлы, которые были доступны для загрузки, больше не завершали загрузку. Загрузка «зависает» после загрузки определенного процента (2–40% в тестах) файла. Это оставляет процессы в состоянии неопределенности, что, скорее всего, и является причиной первоначальной отмеченной проблемы. Файлы тестируются так же хорошо, с помощью SHASUM сравниваются с оригиналами на других серверах, а текстовые файлы могут быть прочитаны непосредственно на веб-сервере через консоль.

Gerard H. Pille avatar
флаг in
Я бы посмотрел на PHP, конфигурацию php-fpm. Подключается ли PHP к базе данных?
Chris Woelkers avatar
флаг in
Я не могу найти файлы конфигурации php-fpm. PHP используется для подключения к базе данных, хотя эта часть сайта в настоящее время недоступна по не связанным с этим причинам.
Gerard H. Pille avatar
флаг in
Вы уверены, что зависшие запросы не имеют отношения к "той части сайта"? Проверьте страницу состояния сервера Apache. Как Apache обрабатывает PHP, если у вас нет php-fpm?
Chris Woelkers avatar
флаг in
Указанная часть сайта предназначена для Pydio 8. После обновления было обнаружено, что он недоступен, php7.4 не поддерживается, поэтому он был отключен. Проблема осталась потом. php-fpm даже не установлен, просто стандартный двоичный файл php вместе с модом Apache.
Gerard H. Pille avatar
флаг in
Ах да, «версия PHP достигла конца жизни 31 декабря 2019 года», т.е. два года назад. Итак, PHP все еще используется? Что показывает статус сервера?
Chris Woelkers avatar
флаг in
Насколько мне известно, это связано с тем, что несколько страниц имеют расширение php. Не знаю зачем, так как я не разрабатываю сайт, а только управляю сервером. В статусе сервера не упоминается PHP.
Gerard H. Pille avatar
флаг in
Возможно, вы могли бы сосредоточиться на том, что упоминает статус сервера? Сначала те запросы с самым долгим ожиданием.

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

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