定位思路与优先级
常见瓶颈与现象对照表
| 瓶颈类别 | 典型现象 | 快速验证 | 优先处理 |
|---|---|---|---|
| 数据库/ORM | 页面打开慢、接口等待时间长;数据库CPU高 | 开启 Laravel Telescope/Debugbar 看慢查询;在MySQL执行 EXPLAIN 检查扫描行数 | 为高频查询字段加索引;用 with() 解决 N+1;只查需要的字段;必要时读写分离、分库分表 |
| PHP运行时 | 单个请求CPU占用高、吞吐上不去 | 检查 php -v 与 OPcache 是否启用;观察进程CPU | 启用并合理设置 OPcache;升级到受支持的 PHP 7/8 版本;适度调大 memory_limit |
| Web服务器/网络 | 静态资源加载慢、并发上不去 | 浏览器 Network 看TTFB与资源耗时;服务端看 Nginx/Apache 连接数 | 启用 Gzip、HTTP/2;开启 KeepAlive;用 CDN 托管静态资源;优化Nginx/Apache worker与连接 |
| 缓存/队列 | 首页/配置频繁读库;发送邮件/导入等耗时操作拖慢响应 | Telescope 看重复查询;检查队列是否积压 | 用 Redis/Memcached 做配置/路由/视图/数据缓存;将耗时任务放入队列并用 Supervisor/Horizon 保活 |
| 代码与配置 | 上线后偶发慢、内存占用高 | 关闭 APP_DEBUG 后复测;审计中间件与事件监听 | 运行 php artisan config:cache / route:cache / view:cache;精简不必要服务提供者;避免在视图中做复杂逻辑 |
在 CentOS 上的快速定位步骤
对症优化要点