【问题标题】:What if i increase all the numbers in PHP-FPM Pool Options如果我增加 PHP-FPM 池选项中的所有数字怎么办
【发布时间】:2020-12-21 15:45:48
【问题描述】:

我的网站总是收到 522 连接超时。我将我的 vps 升级到专用服务器,但还是一样。

所以我在网上找到了这个解决方案:PHP-FPM 调优。如果我把它增加到最大会发生什么?

这是我的配置: PHP-FPM 池选项 最大请求 1000000000000000 进程空闲超时 1000000000000000 麦克斯儿童 1000000000000000

【问题讨论】:

  • 请先研究这个页面:php.net/manual/en/install.fpm.configuration.php 如果您的服务器无法处理更少的子进程,您想如何生成 1000000000000000 个子进程?让子进程运行 1000000000000000 个请求将使您的响应在 1000000 个请求后非常缓慢;-)
  • 所以如果我产生 1000000000000000 个进程,我的服务器会滞后吗?顺便说一句,我只想知道如果我设置这个数字会发生什么。我目前子进程的配置是10000,默认是5,差别很大吧?
  • OP 应该寻求帮助,他需要弄清楚为什么他实际上得到了 522(而且它可能不是服务器资源),这个问题属于...... superuser.com - 或 - serverfault.com(我不确定是哪个),不是 stackoverflow,这不是编程问题
  • @hanshenrik full ack,默认值适用于所有情况的 99%,而不是问题的一部分。只要稍加改进,这个问题就可以适用于任何平台,这很公平。

标签: php web


【解决方案1】:

限制

maximum value for those fields are integer values

进程数为limited by the kernel,大约为 25.000 到 50.000

当你设置荒谬的高值时会发生什么?

根据其他流量,您可能会在数小时、数周或数月内对服务器感到满意。一段时间后,服务器可能会无响应。 确切的行为很大程度上取决于许多因素,并且可能完全无法预测。

你应该怎么做?

对于设置应该采取的基本方向,例如围绕核心*2(想想超线程)进程产生等等。

建议的值只是一个方向,而不是适合所有需求的建议。

设置很大程度上取决于您的代码。它使用了多少内存,多少cpu时间,多少内存泄漏,......

522 连接超时

各种问题都可能导致连接超时。您的 PHP 应用程序可能

尝试在您的代码中使用a debugger 并仔细查看错误日志。

【讨论】:

  • 那么 php-fpm 的正确设置是什么?我每月获得 700 万流量。我的专用服务器的规格是:内存:32GB 存储:2×450GB SSD NVMe 公共带宽:500 Mbps 4 核 8 线程
猜你喜欢
  • 2014-01-12
  • 2016-03-04
  • 2012-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-01
相关资源
最近更新 更多