PHP性能加速-opcache

一.opcache介绍

OPcache 是一个通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 性能的PHP扩展。 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。PHP 5.5.0 及后续版本中已经绑定了 OPcache 扩展。

二.php处理流程

http request ---> nginx(代理)----> php-fpm(master 进程,分配)----> php-fpm(worker处理 ) ---->php-cgi(1.启动ZEND引擎,加载配置,载入module,2.初始化php脚本进行词法分析,语法分析,生成语法树,3.ZEND引擎编译语法树,生成可执行字节码。4.执行字节码,返回处理结果)

三.opcache作用

opcache 就缓存了php脚本预编译的字节码避免每次处理请求都重复执行(php-cgi处理的1,2,3)步骤,这样可以使得php性能大大提高。

四.php配置opcache

开启opcache

php.ini配置

[opcache]
;开启opcache模块
zend_extension=opcache.so 
;开启opcache
opcache.enable=1 
opcache.enable_cli=1
; The OPcache shared memory storage size 设置共享内存大小
opcache.memory_consumption=128
; 存储临时字符串的内存大小
opcache.interned_strings_buffer=8
;OPcache哈希表中的最大键(脚本)数Only numbers between 200 and 1000000 are allowed.
opcache.max_accelerated_files=10000
; 在计划重新启动之前,“浪费”内存的最大百分比.
opcache.max_wasted_percentage=5
;如果启用,那么 OPcache 会每隔 [opcache.revalidate_freq](https://www.php.net/manual/zh/opcache.configuration.php#ini.opcache.revalidate-freq) 设定的秒数 检查脚本是否更新。 如果禁用此选项,你必须使用 [opcache_reset()](https://www.php.net/manual/zh/function.opcache-reset.php) 或者 [opcache_invalidate()](https://www.php.net/manual/zh/function.opcache-invalidate.php) 函数来手动重置 OPcache,也可以 通过重启 Web 服务器来使文件系统更改生效
opcache.validate_timestamps=1
;检查脚本时间戳是否有更新的周期,以秒为单位。 设置为 0 会导致针对每个请求, OPcache 都会检查脚本更新,与opcache.validate_timestamps配合使用
opcache.revalidate_freq=3600
;通常做法是不设置opcache过期时间,通过每次更新代码重启php-fpm来实现opcache的更新,所以更新代码的时间点尽量避免高流量时段

五.关闭opcache

将php.ini中opcache.enable=1 改成  opcache.enable=0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值