[笔记] 使用 opcache 优化生产环境PHP[通俗易懂]

[笔记] 使用 opcache 优化生产环境PHP

大家好,又见面了,我是全栈君。

OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。

一、php.ini配置opchche示例

[opcache]
zend_extension=opcache.so
; 开关打开
opcache.enable=1
opcache.enable_cli=1
;共享内存大小, 酌情而定,单位 megabytes
opcache.memory_consumption=256      
;interned string的内存大小, 也可调
opcache.interned_strings_buffer=8
;最大缓存的文件数目,命中率不到 100% 的话, 可以试着提高这个值
opcache.max_accelerated_files=4000
;60s检查一次文件更新
opcache.revalidate_freq=60
;打开快速关闭, 打开这个在PHP Request Shutdown的时候  会收内存的速度会提高
opcache.fast_shutdown=1
;不保存文件/函数的注释
opcache.save_comments=0  
; 是否快速关闭, 打开后在PHP Request Shutdown的时候回收内存的速度会提高
opcache.fast_shutdown=1

二、部分配置参数说明

  • opcache.revalidate_freq 
    这个配置选项用于设置缓存的过期时间,如果设置为0,每次请求时,都会检查文件是否修改,很耗资源,所以如果暂时不需要使用opcache,直接把opcache.enable设置为0即可。

  • opcache.validate_timestamps 
    配置为1时,会根据revalidate_freq设定的值检查更新代码;设置为0时,永不检查。

当需要一次更新大量代码的时候,可以设置为0,上传全部完成后,再设置为1。避免上传代码造成系统的不稳定。

  • opcache.max_accelerated_files 
    真实的取值是在质数集合 { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } 中找到的第一个比设置值大的质数。

你可以运行 find . -type f -print | grep php | wc -l 这个命令来快速计算你的代码库中的PHP文件数。

三、推荐配置

开发模式下推荐,直接禁用opcache扩展更好
opcache.revalidate_freq=0
opcache.validate_timestamps=1
opcache.max_accelerated_files=3000
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
多台机器集群模式或者代码更新频繁时推荐,可以兼顾性能,方便代码更新
opcache.revalidate_freq=300
opcache.validate_timestamps=1
opcache.max_accelerated_files=7963
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
稳定项目推荐,性能最好
opcache.revalidate_freq=0
opcache.validate_timestamps=0
opcache.max_accelerated_files=7963
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家

资料获取方式:

  1. 扫描下方二维码,后台回复关键字

  2. 或   点击这里直通车     直通车2  

[笔记] 使用 opcache 优化生产环境PHP[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111837.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • SRVCTL详解

    SRVCTL详解1.SRVCTL概述SRVCTL是ORACLERAC集群配置管理的工具,可以管理Database、Instance、ASM、Service、Listener和NodeApplication,N

  • Stata: 合成控制法 synth 命令无法加载 plugin 的解决办法

    Stata: 合成控制法 synth 命令无法加载 plugin 的解决办法 作者:陈勇吏(上海交通大学安泰经济与管理学院) Stata连享会:知乎|简书|码云|CSDNStata连享会 计量专题||精品课程||简书推文||公众号合集 连享会#金秋十月@空间计量专题(2019.10.24-27,成都)连享会:内生性问题及估计方法专题 合成控制法的常用命令synth在使用过程中,可能会出…

  • pycharm的配置_pycharm怎么配置python环境变量

    pycharm的配置_pycharm怎么配置python环境变量一、Python解释器1、Python解释器计算机只能读懂0和1这样的二进制编码文件,所以需要一个东西将Python程序解释成计算机可以读懂并执行的二进制文件,这个东西就是Python解释器。在PyCharm中运行Python代码,您需要配置至少一个Python解释器。PyCharm支持以下解释器类型: 源Python解释器; 虚拟环境:(Virtualenv,Pipenv,andConda); 其他Python实现(IronP.

  • 怎么获取smtp服务器用户帐号和密码

    怎么获取smtp服务器用户帐号和密码

  • webstorm 2021激活码【2021.8最新】

    (webstorm 2021激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • Tomcat闪退问题

    Tomcat闪退问题这两天快被这些搞的头大了,tomcat重配了几次,老出现闪退的问题(直接下的tomcat8.0压缩包免安装),总结下来有三个方面,大家如果也遇到这个问题,可以试试下面三个办法:1.网上帖子基本上说出现这个问题最大的原因是因为环境变量没有配对,大家可以参见下面这个帖子比对一下:http://blog.csdn.net/wsad_hjk/article/details/27374753我这里jdk8….

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号