千家信息网

PHP7性能优化的内容有哪些

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章给大家分享的是有关关于PHP7性能优化有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Opcache1. Opcache原理
千家信息网最后更新 2026年11月02日PHP7性能优化的内容有哪些

本篇文章给大家分享的是有关关于PHP7性能优化有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Opcache

1. Opcache原理
PHP的正常执行流程如下

request请求(nginx,apache,cli等)->Zend引擎读取.php文件->扫描其词典和表达式 ->解析文件->创建要执行的计算机代码(称为Opcode)->最后执行Opcode-> response 返回

每一次请求PHP脚本都会执行一遍以上步骤,如果PHP源代码没有变化,那么Opcode也不会变化,显然没有必要每次都重新生成Opcode,结合在Web中无所不在的缓存机制,我们可以把Opcode缓存下来,以后直接访问缓存的Opcode岂不是更快,启用Opcode缓存之后的流程图如下所示:

Opcode cache 的目地是避免重复编译,减少 CPU 和内存开销。
2. Opcache配置
在php.ini下添加:

// 加载opcache(需确认已安装opcache拓展)zend_extension=opcache.so// 开启opcacheopcache.enable = 1// OPcache共享内存存储大小,单位MBopcache.memory_consumption=1024 // 1G// PHP使用了一种叫做字符串驻留,默认是4MBopcache.interned_strings_buffer=32// 这个选项用于控制内存中最多可以缓存多少个PHP文件,这个选项必须得设置得足够大,大于你的项目中的所有PHP文件的总和opcache.max_accelerated_files=80000// 设置缓存的过期时间(单位是秒),为0的话每次都要检查opcache.revalidate_freq=3// 从字面上理解就是"允许更快速关闭"opcache.fast_shutdown=1// CLI环境下,PHP启用OPcacheopcache.enable_cli=1

HugePage

1. HugePage原理
通过启用这个特性,PHP7会把自身的TEXT段(执行体)"挪"到Huagepage上,之前的测试,我们能稳定的在Wordpress上看到2%~3%的QPS提升。
关于Hugepage是啥,简单的说下就是默认的内存是以4KB分页的,而虚拟地址和内存地址是需要转换的, 而这个转换是要查表的,CPU为了加速这个查表过程都会内建TLB(Translation Lookaside Buffer), 显而易见如果虚拟页越小,表里的条目数也就越多,而TLB大小是有限的,条目数越多TLB的Cache Miss也就会越高, 所以如果我们能启用大内存页就能间接降低这个TLB Cache Miss,至于详细的介绍,Google一搜一大堆我就不赘述了,这里主要说明下如何启用这个新特性, 从而带来明显的性能提升。
2. HugePage配置

$ sudo sysctl vm.nr_hugepages=512 // 切勿越大越好,会长占内存

分配512个预留的大页内存:

cat /proc/meminfo  | grep HugeAnonHugePages:    106496 kBHugePages_Total:     512HugePages_Free:      504HugePages_Rsvd:       27HugePages_Surp:        0Hugepagesize:       2048 kB

然后在php.ini中加入:

opcache.huge_code_pages=1

Opcache file cache

1. Opcache file cache介绍
使用opcache把编译后的php文件存储为文件,实现php源码保护和脚本加速, 会有很明显的性能提升
2. Opcache file cache配置
在php.ini中加入:

opcache.file_cache=/tmp

这样PHP就会在/tmp目录下Cache一些Opcode的二进制导出文件, 可以跨PHP生命周期存在.

配置后需重启php-fpm

亲测

系统:centOs 7
php版本:7.4
nginx
laravel: 8.5

优化前

cpu:95%-96%
内存:2G/16G
10分钟4W并发
失败率:24%

聚合报告

每秒处理事务
![PHP7性能优化]
![PHP7性能优化笔记]

优化后

cpu:20%-40%
内存:5.8G/16G(此处我HugePage设置2048)
10分钟4W并发
失败率:0%

第一次压测

聚合报告

每秒处理事务

第二次压测

聚合报告

每秒处理事务


以上就是关于PHP7性能优化有哪些,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

内存 文件 性能 缓存 配置 事务 就是 报告 处理 明显 单位 原理 地址 大小 失败率 更多 条目 流程 特性 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技 互联网黑科技 有格互联网科技 广东万易互联网科技有限公司惠州分公司 湖南永感互联网科技有限公司 互联网 科技创新 鑫亿盛互联网科技 未来的互联网科技 滨湖区互联网智能科技产品供应 互联网科技教育视频 黑科技闪耀互联网之光 语蝶互联网科技有限公司 未来五年的互联网科技 小米互联网科技园入驻 黑云互联网科技有限公司 皮皮虾互联网科技有限公司 唐山双旺合互联网科技产业园 杭州科技互联网公司有哪些 黑龙江互联网科技公司 科技互联网企业在行动 互联网最新的科技 金融科技创新监管互联网金融 金融科技与互联网金融 互联网科技视频素材 盛创互联网科技有限公司 老年人脱离互联网科技的作文 昭通云南众福互联网科技有限公司 广州百诚互联网科技有限公司官网 广州三三互联网科技有限公司 互联网科技创新创业项目
0