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://h4ck.org.cn/
* 个性:https://oba.by/
* 本文标题: 《php-fpm开启opcache缓存》
* 本文链接:https://h4ck.org.cn/2023/03/11620
* 短链接:https://oba.by/?p=11620
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


分享文章:

猜你喜欢:

7 comments

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

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

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

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

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

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

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

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

发表回复

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