PHP-FPM 进程导致 CPU 在 VPS 上的高使用率

PHP-FPM processes causing high CPU usage on VPS

几个月前,在与共享托管平台的低性能作斗争后,我们将我们的电子商务网站迁移到 VPS。为了应对流量的增加(平均每天 300-500 名访客),我们调整了 PHP-FPM 设置并将最大子级数从 5(默认)增加到 50。目前,PHP-FPM "pool" 进程需要高 CPU 使用率 (30-40%)。有什么技巧可以让这些 "pool" 进程使用更少 CPU?谢谢!

VPS 规格:
2 CPU 秒
英特尔(R) 至强(R) CPU E5-2630 v4 @ 2.20GHz
4GB 内存

WHM:Centos 7.8 v86.0.18
电商平台:OpenCart 3.0.2.0

  1. FPM 与 CPU 用法无关,这是您的代码。
  2. 就是说,不要在没有可靠依据的情况下随意更改工作进程的数量,例如:实际资源统计信息。
    • 如果每天有 300-500 个用户,你 真的 不太可能有 50 个并发请求,除非你做一些奇怪的事情。
    • 我目前工作的地方高峰时大约有 600 个并发用户,最多 15-20 个连接实际上同时做任何事情。 [注意:很多 larger/broader 支持基础设施]
    • 您真的希望每个 CPU 核心同时处理 25 个请求吗?
    • 你能合理地将 50 个请求的 RAM 放入 4GB 中吗?
    • 您是否同意这 50 个空闲 PHP 进程,每个进程消耗 10-15MB RAM?

综上所述,我们无法告诉您代码中的哪些内容正在耗尽资源,而且您不可能 post 获得足够的信息让我们只能做出模糊的猜测。您需要采取适当的措施来衡量资源使用情况发生的位置,分析您的代码以找出原因,并调整您的基础架构配置以适应您的特定应用程序要求。

没有一个 "magic" 配置适合所有人。