提升 Laravel 性能需缓存配置与路由、分层缓存视图和数据、优化 Composer 自动加载、异步处理非关键任务,并配合部署流程固化命令。

提升 Laravel 应用性能,核心在于减少重复计算、降低 I/O 开销、加快响应速度。缓存是见效最快的方式,配合合理的 Artisan 命令优化,能显著改善启动时间、路由解析、配置加载等环节。
用好配置与路由缓存
Laravel 每次请求都会重新读取 config/ 和 routes/ 下的 PHP 文件,开发时方便,上线后却成负担。生产环境务必启用缓存:
- php artisan config:cache —— 合并所有配置文件为单个 bootstrap/cache/config.php,避免多次 require
- php artisan route:cache —— 将所有路由注册逻辑编译为静态数组,跳过 RouteServiceProvider 的动态注册过程
注意:启用后,新增或修改路由/配置需重新运行对应命令;闭包路由不支持缓存,应改用控制器方法。
视图与数据缓存协同使用
模板渲染本身开销不大,但频繁读取数据库再渲染就慢了。建议分层缓存:
数据本地化解决接口缓存数据无限增加,读取慢的问题,速度极大提升更注重SEO优化优化了系统的SEO,提升网站在搜索引擎的排名,增加网站爆光率搜索框本地化不用远程读取、IFRAME调用,更加容易应用及修改增加天气预报功能页面增加了天气预报功能,丰富内容增加点评和问答页面增加了点评和问答相关页面,增强网站粘性电子地图优化优化了电子地图的加载速度与地图功能酒店列表增加房型读取酒店列表页可以直接展示房型,增
- 对不常变的数据(如站点设置、分类列表),用 Cache::remember('site_settings', 3600, fn() => Setting::first())
- 对整块 HTML(如侧边栏、热门文章),用 @cache('sidebar', 60) + @endcache(需安装 laravel-blade-cache)
- 避免在循环里调用缓存读写,尽量预加载或批量获取
优化自动加载与类映射
Composer 自动加载机制默认较松散,可针对性提速:
- composer dump-autoload --optimize-autoloader --classmap-authoritative —— 生成高效类映射表,跳过 PSR-4 文件扫描
- 确保 composer.json 中 autoload 的 classmap 或 files 部分只包含真正需要“硬编码”的类,避免冗余
- 部署时加 --no-dev 参数,排除开发依赖,减小 autoloader 体积
队列与延迟加载减少首屏压力
非关键操作别卡在 HTTP 请求里:
- 邮件发送、日志上报、统计埋点等,统一走 php artisan queue:work 异步处理
- 大对象或关联数据按需加载:$post->loadMissing('author.profile') 替代 eager loading 全部关系
- 分页用 cursorPaginate() 替代 paginate(),避免 count() 查询
基本上就这些。缓存不是越多越好,关键是缓存什么、缓存多久、失效怎么处理。命令优化也得配合部署流程固化,比如 CI/CD 中自动执行 config:cache 和 route:cache。不复杂但容易忽略。










