登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
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
相关帖子
CompletableFuture 实战:Java 异步编程高性能实战指南
CompletableFuture 实战:Java 异步编程高性能实战指南
Spring AI实战:10分钟接入OpenAI实现流式对话
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
完整项目实战
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
CompletableFuture 实战:Java 异步编程高性能实战指南
0
635
阎怀慕
2026-03-30
安全
CompletableFuture 实战:Java 异步编程高性能实战指南
0
245
鸳剿
2026-03-30
安全
Spring AI实战:10分钟接入OpenAI实现流式对话
0
485
赊朗爆
2026-03-31
业界
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
0
432
云卦逾
2026-03-31
业界
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
0
116
拼匍弦
2026-03-31
业界
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
0
275
锑砖
2026-03-31
业界
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
0
754
上官泰
2026-03-31
业界
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
0
378
坠矜
2026-03-31
业界
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
0
312
羡渥蛛
2026-03-31
安全
完整项目实战
0
389
山真柄
2026-03-31
回复
(28)
习和璧
2025-11-6 16:35:49
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
yyds。多谢分享
缍米
2025-12-28 02:55:59
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,下载保存了,貌似很强大
丰江
2026-1-1 15:46:24
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享,下载保存了,貌似很强大
拼潦
2026-1-17 08:46:32
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
铵滔
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
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
黎娅茜
2026-1-26 10:44:11
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢发布原创作品,程序园因你更精彩
锑砖
2026-1-27 06:49:31
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢,下载保存了
锷稠
2026-1-30 04:53:53
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
崔瑜然
2026-2-3 10:50:36
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
亢安芙
2026-2-5 09:57:33
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢发布原创作品,程序园因你更精彩
林鱼
2026-2-7 06:12:31
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
收藏一下 不知道什么时候能用到
涣爹卮
2026-2-7 10:09:53
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
鼓励转贴优秀软件安全工具和文档!
厨浴
2026-2-9 00:31:47
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,辛苦了
渭茱瀑
2026-2-9 10:32:14
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
孟茹云
2026-2-9 23:07:12
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
用心讨论,共获提升!
蒲善思
2026-2-11 10:33:35
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
东西不错很实用谢谢分享
下一页 »
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
神泱
9539
6
宋子
9880
7
韶又彤
9911
8
注思
9034
9
荪俗
9023
10
诀锺
9036
查看更多
今日好文热榜
72
记一次Webshell流量分析2 | 添柴不加火
451
记一次Webshell流量分析2 | 添柴不加火
136
记一次Webshell流量分析2 | 添柴不加火
725
记一次Webshell流量分析2 | 添柴不加火
66
记一次Webshell流量分析2 | 添柴不加火
405
AI元人文:在荆棘中开路——对四个实践性追
928
记一次Webshell流量分析2 | 添柴不加火
0
Python模块与包管理完全指南:从入门到精通
420
记一次Webshell流量分析2 | 添柴不加火
0
Python模块与包管理完全指南:从入门到精通
268
AI元人文:在荆棘中开路——对四个实践性追
575
记一次Webshell流量分析2 | 添柴不加火
84
记一次Webshell流量分析2 | 添柴不加火
158
记一次Webshell流量分析2 | 添柴不加火
874
记一次Webshell流量分析2 | 添柴不加火
146
记一次Webshell流量分析2 | 添柴不加火
824
记一次Webshell流量分析2 | 添柴不加火
497
AI元人文:在荆棘中开路——对四个实践性追
873
记一次Webshell流量分析2 | 添柴不加火
150
记一次Webshell流量分析2 | 添柴不加火