php-fpm и dns случайно не работают - PullRequest
0 голосов
/ 01 июня 2018

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

stream_socket_client (): php_network_getaddresses: сбой getaddrinfo: имя или служба не известны

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

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

ВНИМАНИЕ: сервер достиг настройки pm.max_children (8), рассмотрите возможность ее повышения

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

1 Ответ

0 голосов
/ 01 июня 2018

Наиболее распространенные причины, по которым 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 = Общий объем ОЗУ, выделенный для веб-сервера / Максимальный размер дочернего процесса.

Не забудьте оставить часть ОЗУ для дополнительных служб, которые вы используете на своемsystem.

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

$ sudo systemctl restart php-fpm

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

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