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

导致VPS上CPU使用率高的PHP-FPM进程,php,apache,centos,vps,Php,Apache,Centos,Vps,几个月前,我们将我们的电子商务网站迁移到了VPS,因为共享托管平台的性能很差。为了应对流量的增加(平均每天300-500名访问者),我们调整了PHP-FPM设置,并将最大子项从5(默认)增加到50。目前,PHP-FPM“池”进程需要高CPU使用率(30-40%)。有什么建议可以让那些“池”进程使用更少的CPU吗?谢谢 VPS规格: 2个CPU 英特尔(R)至强(R)CPU E5-2630 v4@2.20GHz 4GB内存 WHM:Centos 7.8 v86.0.18 电子商务平台:OpenCa

几个月前,我们将我们的电子商务网站迁移到了VPS,因为共享托管平台的性能很差。为了应对流量的增加(平均每天300-500名访问者),我们调整了PHP-FPM设置,并将最大子项从5(默认)增加到50。目前,PHP-FPM“池”进程需要高CPU使用率(30-40%)。有什么建议可以让那些“池”进程使用更少的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

  • FPM与CPU使用率无关,它是您的代码
  • 也就是说,不要在没有可靠基础的情况下随意更改工作进程的数量,例如:实际资源统计。
    • 每天有300-500个用户,除非你做了一些奇怪的事情,否则你不太可能有50个并发请求
    • 我目前工作的地方有大约600个并发用户,最多15-20个连接,实际上可以同时做任何事情。[注:更大/更广泛的支持基础架构]
    • 您真的希望每个CPU核心同时处理25个请求吗
    • 你能合理地将50个请求的内存放入4GB吗
    • 对于50个空闲的PHP进程,每个进程都消耗10-15MB的RAM,您满意吗
  • 尽管如此,我们无法告诉您代码中的哪些内容正在消耗资源,您也不可能发布足够的信息,让我们只进行模糊的猜测。您需要将一些东西放在适当的位置,以测量资源使用情况,分析代码以找出原因,并调整基础架构配置以适应特定的应用程序需求


    没有一种“魔法”配置适合所有人。

    当然,你的主要技巧是“缓存”。如何实现缓存取决于特定的电子商务网站框架。到目前为止,您在这些方面采取了哪些措施?OpenCart有一个内置的缓存系统,所以我现在没有做任何其他事情。因此,您可以从那里开始,例如,从基于文件的缓存更改为内存(或者将缓存目录装载到
    tmpfs
    ,或者将缓存配置更改为使用
    apcu
    )。PHP-FPM工作进程读取缓存数据的速度越快,就越快可以为其他访问者提供服务。此外,我不认为内置的缓存系统提供了太多。您需要一个完整的页面缓存。要么为这项工作寻找额外的插件,要么寻找清漆。