如何优化Laravel应用程序的性能

211 阅读7分钟

随着以技术为导向的公司的步伐不断加快,软件开发也在不断回升。许多新的技术栈正在进入这个世界,使开发过程变得更容易,而这些新公司中很多都在使用PHP作为其应用程序的后台框架。随着各种版本的更新,PHP在开发者中越来越受欢迎。大多数的PHP开发者都听说过Laravel,并且至少使用过一次。Laravel最出名的是制作以商业为重点的应用程序,并为应用程序提供安全保障。吸引大多数开发人员的最重要的一点是,它允许他们做微观的改变来提高网站的优化。

在这篇文章中, 我们将讨论如何提高你的Laravel应用程序的速度.所以让我们开始吧。

提高Laravel性能的主要方法

下面的一些建议可能不会提高你的具体应用程序的速度, 但你可以尝试所有这些建议, 通过试验和错误, 你会看到什么是最适合你的。让我们逐一来讨论一下。

利用Laravel性能监控工具

Laravel的性能监测工具有助于使用指标和错误报告来提高你的应用程序的性能。你可以使用这些统计数据来预测用户的行为。市场上有很多工具可以用来监测Laravel应用程序。

Scout APM可以帮助你在一个仪表盘中轻松获得这些指标,帮助你快速观察它们。你可以检查一些指标,如用户在哪里离开应用程序, 用户在哪里花费最多的时间, 坏的API调用,等等。业务团队可以查看这些数据,并为应用程序提出相关的开发路径。

用Laravel Mix进行前端资产优化

Laravel Mix是用来将不同的样式表混合成一个单一的捆绑文件,并使其成为一个单一的文件。Laravel Mix默认存在于所有Laravel应用程序中。Laravel Mix通常用于将不同的CSS文件编译成一个文件,这样应用程序就不需要调用两个不同的HTTPS APIs。因此,应用程序的速度可以提高一点。下面给出了使用Laravel mix混合两个CSS文件的示例代码。

mix.styles([  'public/css/vendor/normalize.css',  'public/css/styles.css'  ], 'public/css/all.css');

混合两个CSS文件通常会增加生成文件的大小,所以它削弱了混合两个CSS文件获得的好处。为了解决这个问题,我们优化了混合包,减少了生产级应用的大小。这有助于应用程序的快速加载和更快的响应时间。

尽可能地恢复缓存

缓存在计算机科学中意味着使用在之前的一些迭代/执行周期中已经产生的信息。在任何类型的网络应用中,缓存在提高网站
的速度方面起着重要作用。

例如,假设一个API在应用程序中被非常频繁地调用。在这种情况下,你可以简单地重复使用API的响应
,并反复使用它,而不是再次调用API。缓存减少了你的应用程序的API响应时间, 和数据库查询的成本.

Laravel提供了一个非常有用的缓存命令, 这有助于提高性能.它在下面给出。

php artisan config:cache

你可以使用这个命令来缓存配置文件.同样的, 你可以使用下面的命令来缓存Laravel中的路由:

php artisan route:cache

使用队列

队列是重要的数据结构,可以用来提高应用程序的性能。大多数时候, 队列是用来发送消息给终端用户或另一个架构的服务.
例如,如果你想在他们登录到你的应用程序后发送消息,你可以将消息推入队列,它们将被逐一发送。另外,使用第三方解决方案可能会在发送通知时造成延迟
,但队列会立即发送通知,给你一个更好的用户响应。

确保你使用的是最新的版本

最新版本的PHP对于优化你的Laravel应用程序的速度是必要的。最新的版本对当前版本的Laravel有一些关键的变化。所以你应该总是尝试安装最新版本的PHP和Laravel.

最小化

最小化意味着尽可能地减少你的应用程序的不同组件。你可以优化各种东西,如代码,服务器端配置,以及网站上资产的使用。在这一部分, 我们将讨论在Laravel应用程序中可以被最小化的东西.

HTML最小化

HTML最小化是指将代码变得更简单,并将其分解成碎片,以加快网站的加载速度,尽量减少前台的API调用。它有助于加快代码的编译和脚本的执行。这种方法可以大大减少网站的加载时间和流畅度。此外,它还有助于调试错误,因为更少的代码更容易阅读。

简化CSS

CSS在网站的响应时间中起着主要作用。更多的CSS意味着更多的样式;因此,网站需要更多的时间来加载。不同种类的CSS框架可用于为你的网站设计样式。最小化CSS还包括删除不相关的样式、不好的代码样式、删除空格等。但是,在对CSS进行最小化时,你应该非常小心,因为所有浏览器对相同的CSS的行为是不一样的。不同的浏览器对CSS的行为是不同的;因此,你应该在最小化CSS的同时正确测试你的应用程序。

最小化Javascript

对Javascript进行最小化主要是为了使脚本的运行速度比非最小化的版本快。在最小化过程中,你要删除不使用的代码,如API调用、变量定义、不相关的导入等等。如果你仔细地对javascript进行减化,它可以极大地提高性能。它也有助于更快地将数据从网站发送到服务器上。

用Scout APM优化你的Laravel应用性能

Scout APM是一个基于现代的应用程序监控系统,用于监控几乎所有类型的应用程序。它支持许多框架,如PHP, Ruby, Python, Elixir, 等。在这里,我们将谈论如何使用Scout APM改善Laravel应用程序的性能。Scout APM支持Laravel 5.5以上的所有版本。Scout还可以处理N+1查询的问题, 这也是Laravel Eloquent的主要问题之一.

在你的Laravel应用中安装Scout APM非常简单, 你只需要在控制台运行以下命令,

composer require scoutapp/scout-apm-laravel

当你运行这个命令scout-php ,就可以安装了。

之后, 下一步是配置.env文件中的环境变量.为了将Scout集成到你的应用程序中,你必须添加以下键。

# Scout settings
 
SCOUT_MONITOR=true
SCOUT_KEY="[AVAILABLE IN THE SCOUT UI]"
SCOUT_NAME="A FRIENDLY NAME FOR YOUR APP"

在通过Heroku Addon安装的情况下,你不需要明确设置SCOUT_MONITORSCOUT_KEY ,它是自动设置的。

第三步是使用以下
命令添加config/scout_apm.php

php artisan vendor:publish
--provider=\"Scoutapm\\Laravel\\Providers\\ScoutApmServiceProvider\"

在这一步之后,你需要清除和重建缓存,否则会出现意想不到的结果。最后一步是,在做完这些修改后,你必须部署你的应用程序。
你的网站的结果需要大约5_00分钟才能出现在Scout的仪表板上。

另外,如果你想添加scoutapm PHP扩展,那么你也可以用下面的命令轻松完成。

sudo pecl install scoutapm

如果你想要一些工具,比如libcurl和file_get_contents的时间,你就必须安装这个扩展。

这样一来,Scout APM可以帮助你看到你的Laravel应用程序的所有
指标。你可以使用这些统计数据来改善你的Laravel应用,为你的客户创造更多的价值。