php 开启jit预编译

php为脚本语言,开启jit(预编译)能有效的提高性能,8.0以上版本优化的比较好,推荐使用
以下操作仅限于linux

php8编译安装,参考我的这篇:
链接: php8编译安装


1.开启opcache扩展,并配置

编辑php.ini(通过php --ini找到位置)

vi  /usr/local/php/lib/php.ini

找到并取消opcache扩展注释(前面的;)

zend_extension=opcache.so

下面是参数配置:
链接: php官方参考

我个人的配置,仅供参考

;开启opcache
opcache.enable=1
;cli模式的开启,如果用php-cli,则用1 ,否则为0
opcache.enable_cli=1
;jit调用模式,参考下面的参数说明
opcache.jit=1205
;为编译 JIT 代码保留的共享内存量。值 0 表示禁用 JIT。
opcache.jit_buffer_size=64M
;共享内存大小,单位:兆字节
opcache.memory_consumption=128
;用来存储预留字符串的内存大小,单位:兆字节
opcache.interned_strings_buffer=8
;哈希表中可存储的脚本文件数量上限
opcache.max_accelerated_files=4000
;检查是否有更新的周期,单位:秒。 设置 0为 每次更新都检查更新。 
opcache.revalidate_freq=60
;如果启用(值为1),一次释放全部请求变量的内存,而不是依次释放每一个已分配的内存块
opcache.fast_shutdown=1

2.重启php-fpm并查看

systemctl restart php-fpm

查看拓展

php -m

可以看到如下拓展,说明开启成功

Zend OPcache

3.参数说明

参考官方的文档,有详细的说明
链接: 官方文档

opcache.jit= CRTO,其中的位分别是:

第一位数字,是否使用avx指令,现在的cpu都支持
0-禁用特定 CPU 优化
1-如果 CPU 支持则启用 AVX

如果不确定,可以通过下面的命令查看

cat /proc/cpuinfo
第二位数字,寄存器分配策略
0-不执行寄存器分配
1-执行局部域寄存器分配
2-执行全局寄存器分配
第三位数字,触发策略
0-在php脚本加载时编译所有函数
1-php文件第一次执行时预编译
2-第一次请求时分析函数,然后编译最热门函数
3-动态分析和编译热门函数
4-目前未使用
5-使用追踪 JIT。动态分析和为热门代码段编译追踪。
第四位数字,优化策略
0 不 JIT
1 最小 JIT(调用标准 VM 处理程序)
2 内联 VM 处理程序
3 使用类型推断
4 使用调用图
5 优化整个脚本
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ziqibit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值