登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
业界
›
PHP 性能优化实战 OPcache + FPM 极限优化配置 ...
PHP 性能优化实战 OPcache + FPM 极限优化配置
[ 复制链接 ]
慢秤
2025-10-1 16:17:08
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
PHP 性能优化实战 OPcache + FPM 极限优化配置
先说下背景:这是个运行在 5 台云服务器(8 核 CPU,32GB 内存)上的老 PHP 应用。这些机器配置很强,对这个应用来说完全是过度配置了。
这事一直没有优先级,所以我从来没处理过——直到现在。
监控显示服务器使用了约 15% 的 CPU,流量增加时最高到 30%,内存使用率也很低。我知道原因:php-fpm 从来没有为这些机器正确配置过,而且 OPCache 是禁用的。
优化前后对比
优化前
集群:5 台云服务器
总 CPU:40 核
总内存:320GB
白天平均 CPU 负载:15-20%,峰值 30%
平均内存使用:约 2GB
平均 PHP 执行时间:150ms
OPCache:关闭
php-fpm 配置:
pm.max_children = 100
pm.start_servers = 6
pm.min_spare_servers = 4
pm.max_spare_servers = 8
复制代码
优化后
集群:2 台云服务器
总 CPU:16 核
总内存:64GB
白天平均 CPU 负载:约 2%
平均内存使用:约 7GB
平均 PHP 执行时间:23ms
OPCache:开启
php-fpm 配置:
pm.max_children = 300
pm.start_servers = 100
pm.min_spare_servers = 60
pm.max_spare_servers = 150
复制代码
PHP-FPM 是什么?
PHP-FPM 是最广泛使用的 PHP 应用服务方式,本质上是一个进程管理器。大多数请求遵循这个流程:
请求 -> NGINX -> php-fpm -> (选择或创建 PHP 进程)-> 执行代码 -> 响应
NGINX 作为反向代理通过 socket 与 fpm 通信——FPM 负责从进程池中选择一个进程,或者在没有空闲进程时创建新进程(如果低于定义的 max_children 值)。
例如,假设以下配置:
最大进程数:10
最大池大小:8
如果收到 8 个并发请求,php-fpm 会简单地从池中选择空闲进程。如果收到 10 个请求,它会选择 8 个空闲进程并 fork 2 个额外的进程。
Fork 进程是有开销的,但这不是世界末日。我们稍后会回到这个话题。
OPCache 是什么?
简单来说,OPCache 是一个操作码缓存。
那么什么是操作码?操作码是低级机器指令,它告诉处理器要执行什么操作。我们不需要深入这个兔子洞。当 PHP 脚本执行时会发生以下过程:
解释器加载脚本
脚本解析成语法树
语法树转成 Zend 引擎能懂的操作码
Zend 引擎执行这些操作码
输出结果
当启用 OPCache 时,步骤 2 和 3 被跳过:
解释器加载脚本
Zend 引擎执行缓存好的操作码
输出结果
显然,如果缓存未命中,所有步骤都必须执行。可以想象,缓存这些昂贵的操作可以提供巨大的性能改进,需要更少的 CPU 周期并减少整体内存消耗。
测试环境
我在云厂商上设置了几台机器进行测试:
测试服务器:4 核 CPU,8GB 内存,运行一个简单的 Laravel 应用,进行数据库读写操作
压力测试服务器:用于发送 HTTP 请求的简单服务器
数据库:2 核 CPU,4GB 内存,MySQL
Laravel 应用运行的代码如下:
[code]
优化
PHP
性能
实战
OPcache
相关帖子
Qt表格入门(优化篇)
Vue3 + Iframe 实战:打造企业级流程配置中心(附完整代码)
EF Core 原生 SQL 实战:FromSql、SqlQuery 与对象映射边界
FastAPI实战:WebSocket vs Socket.IO,这回真给我整明白了!
Redis缓存实战:彻底解决缓存穿透、击穿、雪崩三大难题
Python AI爬虫实战:爬取张雪峰微博并进行情感分析与词云可视化
AI Coding 实战:10年祖传系统,54万行代码,2周重构结束
单调队列优化多重背包 学习笔记 & 详解
从零入门性能测试:理论+JMETER实操,看完就能上手
FastAPI单元测试实战:别等上线被喷才后悔,TestClient用对了真香!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
Qt表格入门(优化篇)
0
299
何玲
2026-03-21
业界
Vue3 + Iframe 实战:打造企业级流程配置中心(附完整代码)
0
815
福清婉
2026-03-22
业界
EF Core 原生 SQL 实战:FromSql、SqlQuery 与对象映射边界
0
967
哈梨尔
2026-03-23
业界
FastAPI实战:WebSocket vs Socket.IO,这回真给我整明白了!
0
256
篙菠
2026-03-24
安全
Redis缓存实战:彻底解决缓存穿透、击穿、雪崩三大难题
0
442
邹语彤
2026-03-24
业界
Python AI爬虫实战:爬取张雪峰微博并进行情感分析与词云可视化
0
808
粹脍誊
2026-03-25
业界
AI Coding 实战:10年祖传系统,54万行代码,2周重构结束
0
985
胰芰
2026-03-25
业界
单调队列优化多重背包 学习笔记 & 详解
0
964
公新蕾
2026-03-25
业界
从零入门性能测试:理论+JMETER实操,看完就能上手
0
377
煞赶峙
2026-03-26
业界
FastAPI单元测试实战:别等上线被喷才后悔,TestClient用对了真香!
0
154
寇油
2026-03-27
回复
(28)
习和璧
2025-11-6 16:35:49
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
yyds。多谢分享
缍米
2025-12-28 02:55:59
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享,下载保存了,貌似很强大
丰江
2026-1-1 15:46:24
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享,下载保存了,貌似很强大
拼潦
2026-1-17 08:46:32
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
铵滔
2026-1-19 08:17:19
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢发布原创作品,程序园因你更精彩
孟茹云
2026-1-23 10:15:31
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
上官泰
2026-1-24 12:15:16
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
收藏一下 不知道什么时候能用到
韦逸思
2026-1-25 00:32:39
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
黎娅茜
2026-1-26 10:44:11
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢发布原创作品,程序园因你更精彩
锑砖
2026-1-27 06:49:31
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢,下载保存了
锷稠
2026-1-30 04:53:53
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
懂技术并乐意极积无私分享的人越来越少。珍惜
崔瑜然
2026-2-3 10:50:36
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
亢安芙
2026-2-5 09:57:33
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢发布原创作品,程序园因你更精彩
林鱼
2026-2-7 06:12:31
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
收藏一下 不知道什么时候能用到
涣爹卮
2026-2-7 10:09:53
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
厨浴
2026-2-9 00:31:47
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢分享,辛苦了
渭茱瀑
2026-2-9 10:32:14
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
鼓励转贴优秀软件安全工具和文档!
孟茹云
2026-2-9 23:07:12
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
用心讨论,共获提升!
蒲善思
2026-2-11 10:33:35
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
东西不错很实用谢谢分享
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
慢秤
2026-2-11 10:33:35
关注
0
粉丝关注
27
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9522
6
韶又彤
9916
7
宋子
9878
8
荪俗
9018
9
闰咄阅
9995
10
蓬森莉
9870
查看更多
今日好文热榜
644
多租户下的系统业务开发过程探讨
421
给OpenClaw泼泼凉水降降温
912
给Xcode使用完整版本的swiftformat
169
集成AI 的 Redis 客户端 Rudist发布新版了
821
AI三问:如何直面新一轮技术浪潮
193
macos简单配置openclaw
171
详细解析Spring如何解决循环依赖问题
591
AI 时代,计算机专业学生该怎么学?
761
AI三问:如何直面新一轮技术浪潮
858
AI三问:如何直面新一轮技术浪潮
810
大学生找工作必备!这个免费简历网站太香了
735
大学生找工作必备!这个免费简历网站太香了
693
P3DE (Processing 3D Editor) 三维场景编辑
194
服务器遭遇 XMRig 挖矿程序入侵排查与清理
106
OpenClaw 多智能体路由方案实现不同业务处
641
4.Acwing基础课第788题-简单-逆序对的数量
735
OpenClaw 多智能体路由方案实现不同业务处
535
【节点】[SplitTextureTransform节点]原理
890
【节点】[SplitTextureTransform节点]原理
22
AI Coding逐步引导式开发,从零到一生成完