php-fpm和dns随机不能很好地工作

时间:2018-06-01 06:22:46

标签: php linux dns

有时我收到错误消息:

  

stream_socket_client():php_network_getaddresses:getaddrinfo failed:名称或服务未知

我发现问题总是用php-fpm,因为重新启动php-fpm服务之后再次运行良好。它在1-3个月的时间内随机发生。或者在一个php会话中多次使用名称解析函数时会发生这种情况。 我的服务器是CentOS 7.5,Apache 2.4,PHP 7.x,已更新。 你知道应该是什么问题吗?

在日志中我只看到一些:

  

警告:服务器达到pm.max_children设置(8),考虑提高   它

但它正常工作。

1 个答案:

答案 0 :(得分: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 =专用于Web服务器/ Max子节点的总RAM 流程大小。

请记住留出一些RAM,以便在系统上运行额外的服务。

还要记住,更高并不总是更好。如果您的PHP脚本不正确,这些设置将无法解决您的问题。调整这些设置,看看哪些设备最适合您的服务器。进行更改后,您需要重新启动PHP-FPM服务。

$ sudo systemctl restart php-fpm

请查看this tutorial了解详情