php-fpm开启opcache缓存

使用家里的工控机提供服务之后,系统的资源占用率一直居高不下。内存占用率基本在80%以上,cpu占用率也一般在30-40左右。并且还经常会出现cpu跑慢的情况,通过慢查询日志也难以找到问题关键,调用堆栈基本从index.php就开始了,难以定位是哪个插件哪个函数导致的,导致查询效率低下的函数每次都不一样。所以也没办法通过修改代码或者插件的方式来解决这个问题。

不过整体来说比阿里云的服务器已经稳定了很多,至少无法访问的情况大大减少了。

以上为优化之前资源占用情况。

比较奇怪的是今天的访问量到了500以下,想测试下是哪个地区无法访问,结果打开测速网站,网站直接挂了,所有地区全红,cpu内存跑满。于是想着优化下php的执行,开启代码缓存:

修改配置文件:

[opcache]
; 开关打开
opcache.enable=1
; 设置共享内存大小, 单位为:Mb
opcache.memory_consumption=128
;如果启用,那么 OPcache 会每隔 opcache.revalidate_freq 设定的秒数 检查脚本是否更新。 如果禁用此选项,你必须使用 opcache_reset() 或者 opcache_invalidate() 函数来手动重置 OPcache,也可以 通过重启 Web 服务器来使文件系统更改生效。
opcache.validate_timestamps=60

去掉下面一行的注释,如果没有就添加:

zend_extension="opcache.so"

重启php-fpm。

使用 php -m 查看 Opcache 是否生效。

现在资源占用率cpu和内存确实降低了不少:

网站测速,最起码已经不是全红了:

参考链接:https://learnku.com/articles/49492

☆版权☆

* 网站名称:obaby@mars
* 网址:https://lang.ma/
* 个性:https://oba.by/
* 本文标题: 《php-fpm开启opcache缓存》
* 本文链接:https://www.nai.dog/2023/03/11620
* 短链接:https://oba.by/?p=11620
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

7 comments

  1.  Level 4
    Microsoft Edge 110 Microsoft Edge 110 iPhone iOS 16.3 iPhone iOS 16.3 cn四川省雅安市 电信

    php8还有jit,哈哈哈哈,好像是说可以更快,但是我没咋感受到

      1.  Level 4
        Microsoft Edge 110 Microsoft Edge 110 iPhone iOS 16.3 iPhone iOS 16.3 cn四川省雅安市 电信

        这个问题就得大佬自己瞧一瞧了,我实在是太菜了,我只知道php8的opcache加入了jit,好像能更快,哈哈哈。不好意思大佬

        1. 公主 Queen 
          Google Chrome 110 Google Chrome 110 Windows 10 Windows 10 cn山东省青岛市 联通

          嗯嗯,刚大概了解了一下。也是得先开启opcache,不过优化的更彻底了。

    1. 公主 Queen 
      Google Chrome 102 Google Chrome 102 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 移动

      已经安装了litespeed了,用了很长时间了。整体感觉还是不错的,不过cpu 跑满的问题还是时常发生。开启opcache之后确实好了不少。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注