Laravel8如何进行性能优化?优化技巧分享

Laravel8如何进行性能优化?优化技巧分享

本指南列出了从快速优化到深度调优的各种性能优化技巧,这些技巧可以帮助构建高性能的 Laravel 应用。

在 Enlightn 上有不少同学在帮助我们编写了本指南。如果你正在寻求 Laravel 的自动化性能或安全工具,不妨可以访问这个网站看看。

为什么要提高性能?

毫无疑问,相比加载速度慢的应用程序,用户更喜欢速度更快的应用。

根据谷歌的一项研究,加载时间超过3秒的网站,在移动端会有 53% 的用户流失(选择离开)。而移动网站的平均加载时间约为 15 秒。这就是性能的重要性!

应用每增加一秒的加载时间,客户转化率就会越低。幸运的是,对于 Laravel 应用来说,这并不是一个很难解决的问题。

1. 使用内置性能能力快速获胜

Laravel 内置了一些性能提升功能,简单配置一下即可使用。

最关键的性能提升是 路由缓存 。你是否知道每次启动 Laravel 应用时,都会执行确定中间件、解析别名、解析路由组并指定路由控制器操作和处理请求参数?

可以使用 Artisan 命令 route:cache 来缓存所有必需的路由信息,从而跳过路由处理:

php artisan route:cache

这条命令可以给你带来 5 倍的性能提升!是最简单也是最有效的优化。

除了路由缓存,Laravel 还提供以下内容:

配置缓存 在每次应用启动时跳过 .env 和 config 文件的解析。视图缓存 预编译你的 Blade 模板视图。事件缓存 缓存应用程序所有事件和监听器清单。

提示:你应该确保将上述缓存命令添加到部署脚本中,以便每次部署时都重新缓存。否则,路由或配置文件的任何更改都不会在应用中体现。

2. 优化 Composer

Laravel 开发者常犯的一个错误是在生产模式下安装所有依赖项。一些开发包(例如 Ignition)会在内存中记录查询、日志和转储,从而提供带有上下文的友好错误消息,简化调试过程。尽管这在开发中很有用,但会减慢生产环境中应用程序的速度。

在部署脚本中,使用 Composer 安装拓展包的同时请务必使用 -no-dev 选项:

composer install --prefer-dist --no-dev -o

此外,请确保如上所述在生产环境中使用 -o 选项。这可以让 Composer 可以通过生成「classmap」来优化自动加载器。

如果你的应用在运行时没有生成类,你可以选择使用 --classmap-authoritative 选项而不是 -o 选项进行进一步优化。请务必查看 Autoloader 的 Composer 文档 优化策略.

3. 选择正确的驱动程序

选择正确的缓存、队列和会话驱动程序将会对应用程序性能产生极大影响。

对于生产环境中的缓存,推荐 Redis、Memcached 或 DynamoDB 等内存缓存驱动程序。你可以考虑将本地文件系统缓存用于单服务器设置,尽管这将比缓存到内存的选项慢。

对于队列,推荐使用 Redis、SQS 或 Beanstalkd 驱动程序。数据库队列驱动不适用于生产环境,并且已知可能会存在死锁问题。

对于 Session,推荐数据库、Redis、Memcached 或 DynamoDB 驱动程序。Cookie 驱动程序具有文件大小和安全限制,不建议用于生产环境。

4. 将耗时的任务通过队列处理

在典型的 Web 请求过程中,可能会有一些特定任务需要很长时间才能执行完成。Laravel 拥有一流的 队列系统,这可以让我们将耗时的任务转移到队列的任务中,从而让你的应用程序能够以极快的速度响应请求。

一般情况下,这类任务的常见示例包括解析和存储 CSV 文件、与第三方 API 交互、向用户发送通知、存在较长耗时的数据库查询和搜索索引更新。

5. 文本文件设置 HTTP 压缩标头

压缩标头会对应用程序性能产生重大影响。确保你在 Web 服务器上为文本格式文件(如 CSS、JS、XML 或 JSON)启用压缩或 CDN。

图像格式已经有压缩算法的实现且大多数情况图像格式文件已经被压缩过,并且图像并不是文本格式文件(SVG格式除外,这是XML文档)。因此,图像格式不需要压缩。

巧文书 巧文书

巧文书是一款AI写标书、AI写方案的产品。通过自研的先进AI大模型,精准解析招标文件,智能生成投标内容。

巧文书 61 查看详情 巧文书

你可以在 Web 服务器或 CDN 上设置 gzip 或 brotli(较旧的浏览器可能不支持 brotli),以获得较大的性能提升。

通常情况下,压缩可以将文件体积大小减少 80% 左右!

6. 在静态资源上设置 HTTP 缓存标头

缓存可以提高应用程序的性能,特别是对于静态资源,如图像、CSS 和 JS 文件。建议在 Web 服务器或CDN 级别启用缓存控制标头(如果适用的话)。如果你希望在 Larvel 应用程序而不是 WebServer上设置这些控制头,可以使用 Larvel 的 缓存控制中间件。

Cache 消息头字段可以确保浏览器不会在多次访问网站时重复请求静态资源。这可以提高用户体验,因为网站在随后的访问时可以加载更快。

Laravel Mix 提供了开箱即用的缓存清理 功能,以便在更改 CSS 或 JS 代码时,浏览器不会继续使用旧的缓存内容。

7. 使用 CDN 服务加速静态资源

内容交付网络(CDN)是一个基于地理分布式的服务器组,通过使用距离网站访客更近的服务器来提供服务。可以让用户体验到更快的加载时间。

除了更快的加载速度和更短的加载时间外,CDN 还具有其他优点,如减少 Web 服务器负载,DDOS 保护和静态资源服务的分析等。

一些流行的 CDN 包括 CloudFlare、AWS CloudFront 和 Azure CDN。大多数 CDN 都有一定的免费试用额度。请考虑使用 CDN 来提升静态资源的加载性能。

Laravel 在框架中提供了开箱即用的 CDN 支持组件 Mix 和助手函数 路由缓存0。

8. 最小化 JS 和 CSS 代码

最小化脚本将会从你的应用程序中去除对执行不必要的额外代码(如代码注释、空格、缩短变量名以及其他优化)。这是一个在生产环境中减小 JS 和 CSS 文件大小常用且有效的手段。

Laravel Mix 为你的生产脚本提供了开箱即用的 路由缓存1 功能

9. 合理使用缓存

Laravel 内置了 路由缓存2 支持。缓存最适合用于读取繁重的工作负载。这些工作负载通常涉及耗时的数据检索或数据处理任务。

缓存的一些常见场景案例可能包括:

缓存静态页面:缓存静态页面是一件轻而易举的事. Laravel 的官网使用 路由缓存3 的方式缓存每一个文档页面。片段或部分缓存:有时候,相比缓存整个页面,缓存页面片段可能更有用。例如,你可能希望缓存包含用户名和用户头像的页眉。你可以一次性缓存页面页眉片段,而不需要每次都从数据库中获取数据。查询缓存:如果你的应用程序频繁地查询数据库中很少更改的项,则查询缓存可能会很有用。例如,当你经营一家电商网站,你可能希望缓存商城主页上显示的项目分类,而不是在每次访问商城时从数据库中读取这些项目分类。

请记住,缓存对long tail(很少请求的项目)没有用处。相反,对于任何频繁进行的数据检索 (与数据更新相比),应谨慎使用它。

还必须确保每次缓存内容更改时都使缓存无效或刷新缓存。例如,如果您正在缓存配置文件头,则在用户更新其配置文件图片后刷新缓存。

10. 确定您的应用程序的性能瓶颈

如果您的某些页面加载时间较长或内存使用率较高,则可能需要确定性能瓶颈。Laravel 生态系统中有许多工具可以帮助您做到这一点,包括 Laravel Telescope、Laravel Debugbar 和 Clockwork 。

一些常见的性能瓶颈包括:

N+1个查询:如果您的代码为每个记录执行一个查询,将导致更多的网络往返和更多的查询。这可以在 Laravel 中使用 路由缓存4.重复请求:如果代码在处理同一请求时多次执行同一查询,则可能会减慢您的应用程序的运行速度。通常情况下,如果多个服务或类需要相同的数据集,则可以通过将数据计算或检索提取到单独的类来解决这些问题。高内存使用率:为了减少应用程序的内存使用量,可以考虑使用 路由缓存5 和 路由缓存6 来减少单次处理的数据体积。若要存储文件,请使用 路由缓存7 以减少内存使用。慢查询:如果查询执行时间过长,则应考虑使用查询缓存和/或使用 EXPLAIN 语句来优化查询执行计划。

如果无法使用上述调试工具确定应用程序中的性能瓶颈,则可以考虑使用 XDebug 或 Blackfire 等分析工具。

上线检测清单

另外这里有完整的上线检查清单可供参考 路由缓存8。

总结

性能优化是一个永恒的话题,但 Laravel 有几个内置组件,如 Mix、queues 和缓存,这使性能优化看起来很简单!我们希望你在提高应用程序性能方面学到一些新知识。

原文地址:https://laravel-news.com/performance-checklist译文地址:https://learnku.com/laravel/t/55702

【相关推荐:路由缓存9】

以上就是Laravel8如何进行性能优化?优化技巧分享的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/340746.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
拷贝漫画2025网页版入口 拷贝漫画官方正版登录
上一篇 2025年11月5日 18:09:07
如何解决Symfony项目中的图表绘制问题?使用SymfonyUXChart.js可以!
下一篇 2025年11月5日 18:09:13

相关推荐

  • TikTok国际版直接入口链接 TikTok国际版快速登录通道

    TikTok国际版直接入口链接 TikTok国际版快速登录通道TikTok国际版直接入口链接 TikTok国际版快速登录通道TikTok国际版直接入口链接 TikTok国际版快速登录通道TikTok国际版直接入口链接 TikTok国际版快速登录通道

    TikTok国际版直接入口链接是https://www.tiktok.com/,该平台支持滑动浏览、精准搜索、个人主页管理、消息中心与个性化设置,提供多轨剪辑、音效库、滤镜特效、字幕生成与定时发布等创作工具,并具备点赞分享、评论互动、合拍功能、挑战活动与直播弹幕等社区机制。 TikTok国际版直接入…

    2026年9月28日 • 用户投稿
    000
  • PHP中静态数组的优势与应用详解

    静态数组是PHP中一个重要的概念,理解其特性有助于编写更高效、更易于维护的代码。本文将详细介绍静态数组与普通数组的区别,以及静态数组在实际开发中的应用场景。 静态变量的作用域与生命周期 在PHP中,使用static关键字声明的变量具有特殊的性质。与普通变量不同,静态变量在函数或方法调用结束后不会被销…

    2026年9月28日
    100
  • 拼多多官网入口直接打开 拼多多网页版不用登录

    拼多多官网入口直接打开 拼多多网页版不用登录拼多多官网入口直接打开 拼多多网页版不用登录拼多多官网入口直接打开 拼多多网页版不用登录拼多多官网入口直接打开 拼多多网页版不用登录

    拼多多官网可通过浏览器直接访问https://www.pinduoduo.com,无需下载App即可浏览商品,支持扫码登录、拼团购物、限时秒杀及百亿补贴活动,网页版界面简洁,分类清晰,具备关键词搜索与筛选功能,未登录也可查看商品详情,便于比价;平台覆盖多品类商品,设有专题推荐,提升选购效率,且网页端…

    2026年9月28日 • 用户投稿
    000
  • AutoRDPwn v4.8:一款功能强大的隐蔽型攻击框架

    AutoRDPwn v4.8:一款功能强大的隐蔽型攻击框架AutoRDPwn v4.8:一款功能强大的隐蔽型攻击框架AutoRDPwn v4.8:一款功能强大的隐蔽型攻击框架AutoRDPwn v4.8:一款功能强大的隐蔽型攻击框架

    今天给大家介绍的是一款名叫autordpwn的隐蔽型攻击框架,实际上autordpwn是一个powershell脚本,它可以实现对windows设备的自动化攻击。这个漏洞允许远程攻击者在用户毫不知情的情况下查看用户的桌面,甚至还可以通过恶意请求来实现桌面的远程控制。 环境要求 PowerShell4…

    2026年9月28日 • 用户投稿
    000
  • 快手直播带货中控台叫什么?快手直播中控台在哪里打开

    快手直播带货中控台叫什么?快手直播中控台在哪里打开快手直播带货中控台叫什么?快手直播中控台在哪里打开快手直播带货中控台叫什么?快手直播中控台在哪里打开快手直播带货中控台叫什么?快手直播中控台在哪里打开

    近年来,直播带货作为一种新兴的电商模式,受到了广泛关注。各大电商平台纷纷布局直播领域,而快手作为国内领先的短视频和直播平台,更是将直播带货推向了高潮。在一场场精彩的直播带货活动中,有一个神秘的团队,他们负责整个直播间的后台操控,确保直播过程顺利进行。快手直播带货中控台叫什么呢?今天,就让我们一起揭开…

    2026年9月28日 • 用户投稿
    200
  • 格子达论文查重怎么操作_格子达官方检测系统指南

    格子达论文查重怎么操作_格子达官方检测系统指南格子达论文查重怎么操作_格子达官方检测系统指南格子达论文查重怎么操作_格子达官方检测系统指南格子达论文查重怎么操作_格子达官方检测系统指南

    首先登录格子达官网注册账号并登录,接着在个人中心上传符合格式的论文文件,填写必要信息后提交检测,最后等待系统生成报告并下载查看总相似比、AI占比等数据,结合标注内容进行修改。 格子达论文查重怎么操作?这是不少网友都关注的,接下来由PHP小编为大家带来格子达官方检测系统指南,感兴趣的网友一起随小编来瞧…

    2026年9月28日 • 用户投稿
    100
  • 格子达论文检测入口在哪里—格子达学位论文查重入口

    格子达论文检测入口在哪里—格子达学位论文查重入口格子达论文检测入口在哪里—格子达学位论文查重入口格子达论文检测入口在哪里—格子达学位论文查重入口格子达论文检测入口在哪里—格子达学位论文查重入口

    格子达论文查重入口在www.gezida.com,用户注册后可上传Word或PDF文件进行检测,系统采用语义分析算法,比对广泛学术资源,支持分段查重,生成带来源标注的PDF报告,界面简洁并提供实时进度与在线客服。 格子达论文检测入口在哪里—格子达学位论文查重入口,这是不少学生在撰写毕业论文时都关注的…

    2026年9月28日 • 用户投稿
    100
  • 牧场物语风之繁华集市自然精灵系统指南 自然精灵功能及位置

    牧场物语风之繁华集市自然精灵系统指南 自然精灵功能及位置牧场物语风之繁华集市自然精灵系统指南 自然精灵功能及位置牧场物语风之繁华集市自然精灵系统指南 自然精灵功能及位置牧场物语风之繁华集市自然精灵系统指南 自然精灵功能及位置

    《牧场物语 风之集市》中的自然精灵系统是维系农场生态平衡与促进作物成长的重要机制。在游戏第一年春季第13日上午,该系统将自动解锁,并同步开启“欢乐能量”玩法。通过“助威小队”功能,自然精灵可在集市日协助提升商品的销售表现和品质,助力玩家获得更高收益。 牧场物语风之繁华集市自然精灵系统详解 1、自然精…

    2026年9月28日 • 用户投稿
    100
  • MBTI测试免费链接入口_ MBTI免费测试网站在线地址

    MBTI测试免费链接入口_ MBTI免费测试网站在线地址MBTI测试免费链接入口_ MBTI免费测试网站在线地址MBTI测试免费链接入口_ MBTI免费测试网站在线地址MBTI测试免费链接入口_ MBTI免费测试网站在线地址

    MBTI测试免费链接入口包括www.16personalities.com和www.16mbti.cn,前者基于荣格理论提供16种人格类型分析,含职业建议;后者支持多次测试、生成多维度报告,具社交分享功能,界面简洁适配多设备,测试约12分钟完成。 MBTI测试免费链接入口在哪里?这是不少网友都关注的…

    2026年9月28日 • 用户投稿
    100
  • 如何用豆包AI生成Python环境配置代码

    如何用豆包AI生成Python环境配置代码如何用豆包AI生成Python环境配置代码如何用豆包AI生成Python环境配置代码如何用豆包AI生成Python环境配置代码

    豆包ai可辅助生成python环境配置代码。1. 首先明确项目需求,如python版本、依赖库和虚拟环境类型;2. 向豆包ai输入具体提示词,获取创建venv和requirements.txt的命令;3. 如需复杂配置,可要求生成开发与生产环境分离的依赖文件;4. 注意版本控制、输出验证及通过多轮交…

    2026年9月28日 • 用户投稿
    100
  • 视频号私信如何改成个人私信?视频号怎么私信给作者

    视频号私信如何改成个人私信?视频号怎么私信给作者视频号私信如何改成个人私信?视频号怎么私信给作者视频号私信如何改成个人私信?视频号怎么私信给作者视频号私信如何改成个人私信?视频号怎么私信给作者

    在这个信息爆炸的时代,我们每个人都希望能拥有一个属于自己的小天地,与他人分享喜怒哀乐,同时保护自己的隐私。而微信视频号私信功能的出现,无疑为我们提供了一个绝佳的沟通平台。但是,有些朋友可能发现,自己无法将视频号私信改成个人私信。别担心,今天就来教大家如何轻松切换隐私模式,让你的沟通更加私密和安全。 …

    2026年9月28日 • 用户投稿
    100
  • sublime怎么快速注释和取消注释代码_Sublime代码块注释与取消注释的快捷操作

    sublime怎么快速注释和取消注释代码_Sublime代码块注释与取消注释的快捷操作sublime怎么快速注释和取消注释代码_Sublime代码块注释与取消注释的快捷操作sublime怎么快速注释和取消注释代码_Sublime代码块注释与取消注释的快捷操作sublime怎么快速注释和取消注释代码_Sublime代码块注释与取消注释的快捷操作

    Sublime Text中行注释快捷键为Ctrl + /(Windows/Linux)或Cmd + /(macOS),用于单行或多行代码的快速注释与取消;块注释快捷键为Ctrl + Shift + / 或Cmd + Shift + /,可将选中代码块用语言特定符号包裹。 在Sublime Text中…

    2026年9月28日 • 用户投稿
    100
  • sublime怎么显示函数列表_Sublime Text快速跳转到函数或符号定义

    sublime怎么显示函数列表_Sublime Text快速跳转到函数或符号定义sublime怎么显示函数列表_Sublime Text快速跳转到函数或符号定义sublime怎么显示函数列表_Sublime Text快速跳转到函数或符号定义sublime怎么显示函数列表_Sublime Text快速跳转到函数或符号定义

    使用Ctrl+R或Cmd+R调用内置符号跳转功能,可快速定位当前文件的函数、类等定义;通过安装CTags、Symbol Browser或SublimeCodeIntel等插件,能实现跨文件跳转与更精准识别;配合LSP插件启用Goto Definition(F12),可获得类似IDE的智能跳转体验,显…

    2026年9月28日 • 用户投稿
    400
  • SQL注入防范策略解析

    登录界面如下所示: 请输入用户名: 用户名输入框,密码字段命名为 pass,类型设置为密码框。 点击登录按钮执行验证操作。 后端处理文件(check.php)的核心代码逻辑大致如下: 若查询结果为空,则判定为验证失败,需进行异常处理。 提示:登录失败,请核对所填信息。 } 统计数据库返回的结果行数。…

    2026年9月28日
    100
  • PHP连接MySQL数据库方法

    PHP连接MySQL数据库方法PHP连接MySQL数据库方法PHP连接MySQL数据库方法PHP连接MySQL数据库方法

    php是一种被广泛用于web开发的脚本语言,而mysql则是一个流行的开源关系型数据库系统。将二者结合,可以高效、灵活地搭建动态网站。下面我们将学习如何通过php连接数据库,掌握这一核心技能,为后续的开发工作奠定基础。 1、 在Web服务器的根目录下新建一个PHP文件,例如命名为testMysql.…

    2026年9月28日 • 用户投稿
    100
  • Xdebug调试环境下__DIR__与__FILE__常量行为深度解析

    本文深入探讨了在Xdebug调试PHP脚本时,__DIR__和__FILE__等魔术常量在直接求值与变量赋值时表现差异的原因。核心在于这些常量在PHP解析时即被替换为字面值,而非运行时动态获取。当通过Xdebug的eval命令直接求值时,它们指向当前的求值上下文,即xdebug://debug-ev…

    2026年9月27日
    100
  • 小红书网页版怎么申请创作_小红书网页版创作者申请条件与流程

    小红书网页版怎么申请创作_小红书网页版创作者申请条件与流程小红书网页版怎么申请创作_小红书网页版创作者申请条件与流程小红书网页版怎么申请创作_小红书网页版创作者申请条件与流程小红书网页版怎么申请创作_小红书网页版创作者申请条件与流程

    小红书网页版创作者申请需年满18岁、完成实名认证、发布原创内容且无违规记录;个人需提供领域相关作品,特殊职业者需上传资格证并缴费,企业需提交营业执照及法人信息;登录官网后进入创作服务平台,选择认证类型并填写信息、上传证件,提交后等待1至3个工作日审核结果。 小红书网页版怎么申请创作?这是不少网友都关…

    2026年9月27日 • 用户投稿
    200
  • 小红书网页版怎么兼容浏览器_小红书网页版浏览器兼容性设置

    小红书网页版怎么兼容浏览器_小红书网页版浏览器兼容性设置小红书网页版怎么兼容浏览器_小红书网页版浏览器兼容性设置小红书网页版怎么兼容浏览器_小红书网页版浏览器兼容性设置小红书网页版怎么兼容浏览器_小红书网页版浏览器兼容性设置

    小红书网页版兼容浏览器需更新浏览器至最新版本,清除缓存与Cookies,关闭干扰插件,并在无痕模式下测试;使用双核浏览器时应切换至极速模式,确保文档模式为标准模式,启用HTML5、JavaScript、WebGL及硬件加速;同时优化网络环境,添加信任站点,确保权限授权正常。 小红书网页版怎么兼容浏览…

    2026年9月27日 • 用户投稿
    300
  • HTML表单动态必填字段:基于其他字段内容的条件校验

    本文将指导您如何使用JavaScript实现HTML表单中字段的条件必填校验。当一个字段(如“姓名”)有值时,另一个字段(如“位置”)才变为必填项,从而提升用户体验和数据准确性。教程将提供详细的HTML和JavaScript代码示例,并解释其工作原理,确保您能轻松掌握这种实用的前端验证技术。 在构建…

    2026年9月27日
    200
  • 漫蛙防走失地址收藏页独家分享 2025漫蛙最新官方网站导航

    漫蛙防走失地址收藏页独家分享 2025漫蛙最新官方网站导航漫蛙防走失地址收藏页独家分享 2025漫蛙最新官方网站导航漫蛙防走失地址收藏页独家分享 2025漫蛙最新官方网站导航漫蛙防走失地址收藏页独家分享 2025漫蛙最新官方网站导航

    答案:漫蛙2025最新官网导航提供manwa.cc、manwa.vip等多个防走失入口,建议收藏备用域名并关注官方动态以防失效。平台界面简洁,支持多种阅读模式,资源更新快,检索功能强,历史记录可同步,提升流畅追漫体验。 漫蛙防走失地址收藏页独家分享 2025漫蛙最新官方网站导航,这是许多用户近期热议…

    2026年9月27日 • 用户投稿
    400

发表回复

登录后才能评论
关注微信