PHP 8 性能优化实践:从 OPcache 到代码层调优
一次线上接口变慢的排查记录,把可以复用的优化思路整理出来。
1. 先确认运行时配置
确保 OPcache 开启,并且内存、文件数配置足够,避免频繁编译与淘汰。JIT 适合计算密集场景,对普通 Web 应用收益有限,不必盲目开启。
2. 数据库往往是真正的瓶颈
先看慢查询日志,再决定是否加索引。对热数据使用缓存(Redis/Memcached),把重复的查询结果挡住,通常是性价比最高的一步。
// 简单示例:先查缓存
$key = 'user:profile:' . $uid;
$data = $redis->get($key);
if ($data === false) {
$data = $db->query(...);
$redis->setex($key, 300, serialize($data));
}
3. 代码层的几个小技巧
- 避免在循环内重复查询数据库或请求外部服务;
- 能用数组就用数组,减少不必要的对象开销;
- 严格类型声明有助于减少隐式转换的开销与隐患;
- 大数组用引用传递,避免不必要的拷贝。
4. 别忘了缓存头与压缩
静态资源交给 Nginx 处理并加长缓存时间,接口开启 Gzip,都能显著降低响应体积。
← 返回首页