Php-fpm и dns не работают случайно

Иногда я получал сообщение об ошибке:

stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Name or service not known

Я обнаружил, что проблема всегда связана с php-fpm, потому что после перезапуска службы php-fpm он снова работает нормально. Это происходит случайным образом с периодичностью 1-3 месяца. Или это произойдет, когда функции разрешения имен используются много раз в одном сеансе php. Мой сервер - CentOS 7.5, Apache 2.4, PHP 7.x, обновленный. Вы знаете, в чем должна быть проблема?

В журнале вижу только некоторые:

WARNING:server reached pm.max_children setting (8), consider raising it

но он работает нормально.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
487
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Наиболее распространенные причины, по которым PHP-FPM достигает max_children:

  • Множество параллельных запросов от ваших клиентов
  • Очень низкая установка max_children

Но в этом случае я предполагаю, что это вызвано низким значением max_children. Так что, пожалуйста, увеличьте его.

$ sudo vi /etc/php-fpm.d/www.conf

Вы можете найти pm.max_children в разделе [php-fpm-pool-settings].

Чтобы получить представление о том, что использовать для pm.max_children, вы можете использовать этот расчет:

pm.max_children = Общий объем ОЗУ, выделенный для веб-сервера / Максимальное количество дочерних элементов размер процесса.

Не забудьте оставить немного оперативной памяти для дополнительных служб, запущенных в вашей системе.

Также помните, что выше - не всегда лучше. Если у вас плохой скрипт PHP, эти настройки не решат ваших проблем. Измените эти настройки и посмотрите, что лучше всего работает на вашем сервере. После внесения изменений вам необходимо перезапустить службу PHP-FPM.

$ sudo systemctl restart php-fpm

Пожалуйста, проверьте этот учебник для получения дополнительной информации

Другие вопросы по теме