广告
返回顶部
首页 > 资讯 > 精选 >Laravel应用性能如何提高
  • 907
分享到

Laravel应用性能如何提高

2023-07-04 17:07:21 907人浏览 薄情痞子
摘要

今天小编给大家分享一下Laravel应用性能如何提高的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。缓存配置文件laravel

今天小编给大家分享一下Laravel应用性能如何提高的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

缓存配置文件

laravel 的配置项分布在数十个配置文件中,在每次的请求中都将每个文件 including 进来很消耗性能。为了将所有的配置文件都合并为一个,可以使用:

PHP artisan config:cache

记住修改了配置文件后不会影响已有的配置文件缓存。为了刷新缓存,可以再次上述的命令。如果你想完全清除缓存,执行:

php artisan config:clear

路由缓存

在laravel中,路由也需要昂贵的开销。用以下命令缓存 routes.php 文件:

php artisan route:cache

请注意,它不适用于闭包。 如果你正在使用闭包,这是一个很好的机会将它们移动到控制器中,因为 artisan 命令在尝试编译绑定到闭包的路径而不是正确的控制器方法时会抛出异常。
与配置缓存相同,对 routes.php 的任何更改都不会有任何影响。 要刷新缓存,请在每次更改路径文件时运行上面的命令。 要完全清理干净路由缓存,请运行以下命令:

php artisan route:clear

类映射加载优化

在一个中型项目中,存在数百个 PHP 源文件是很正常的事情,由于良好的编程习惯,我们会把代码做一些分离,每一个 php 文件都有自己的职责。当然,这并非没有缺点,Laravel 必须为每一次请求都加载这数百个文件,这是一件很消耗性能的事情。

因此,一个比较好的办法是声明哪些文件是用户每一次请求(如:服务提供者,中间件等)都需要载入的 ,然后将这些需要每次加载的文件写入同一个文件中,减少 include 文件的数量。

这类似于 javascript 将文件合并为一个没有区别 (webpack, gulp),会减少游览器会服务器的请求。

如果需要添加其他的源文件,可以在 config / compile.php 的files key中声明。

当你把需要为每个请求都加载的文件设置好之后,它们就会写入同一个文件中,减少加载文件的性能消耗

php artisan optimize --force

优化 composer 的自动加载

这不仅适用于 laravel,而且适用于任何使用 composer 的应用程序。

我将首先解释 PSR-4 自动加载器的工作原理,然后向您展示应该运行什么命令来优化它。如果您对了解 composer 如何工作不感兴趣,我建议您直接跳到关于控制台命令的段落处。

当您向 compsoser 请求 App\Controllers\AuthController 类时,它首先在类映射中搜索直接关联。claSSMap 是一个由类和文件组成的 1 到 1 关联的数组。当然,由于您没有手动将 Login 类及其相关文件添加到类映射中,composer 将继续在命名空间中搜索。

因为 App 是一个 PSR-4 命名空间,默认情况下是与 Laravel 一起提供的,并且与 app/ 文件夹相关联,所以 composer 将尝试使用基本的字符串操作过程将 PSR-4 类名转换为文件名。最后,它猜测 App\Controllers\AuthController 必须位于 AuthController.php 文件中,它位于 Controllers/ 文件夹中,恰巧的是,该文件夹正好位于名称空间文件夹中,即 app/。

所有这些艰苦的工作只是为了得到 App\Controllers\AuthController 类存在于 app/Controllers/AuthController.php 文件中。为了让 composer 扫描整个应用程序并创建类和文件的直接 1 对 1 关联,运行以下命令:

composer dumpautoload -o

请记住,如果您已经运行了 php artisan optimize --force,那么您就不必再运行这个函数了。因为优化命令已经告诉 composer 创建一个优化的自动加载器。

JIT 编译器(即时编译器)

PHP 并不是天然就被计算机理解的。你不能把它编译为字节码然后让计算机运行。PHP 必须要经过一个中介,像是 Zend 引擎,它会解释 PHP 文件并执行相应的 C 例程。如你所想,它的速度很慢。每次你的服务器执行一个 PHP 文件,都必须把它转换成 tokens —— 这个过程由 AST 解析器完成并解释。不幸的是,解析器必须每次都编译 PHP 文件,即使它每次都得到相同的结果。

为了让你的应用速度更快,你需要一个 编译一次,终生运行 的方法,而这就是一个 JIT 编译器所做的事情。

对于 Laravel 所推荐使用的 JIT 编译器是 HHVM,由 Facebook 创立并广泛使用。Wikipedia、Etsy 和其他上千项目也在使用它。

使用更快的缓存和会话驱动

将 session 保存在文件中是种足够快速而又优雅的方法,自 PHP 开始的时代就在这样做了。但是如果你追求性能,那么文件系统就是你需要注意的一件事,因为它很慢。一种更好的做法是将 cache 和 session 存储在内存中,因为它提供了一种高效读写数据的方式。幸运的是,laravel 支持一些基于内存的 cache 和 session 驱动。

我的建议是使用 memcached 作为 cache 和 session 的驱动,但你可以选择任何你喜欢的,只要它是基于内存工作的。

要更改 session 驱动,需要检查以下文件中「driver」项:

app/config/session.php

要更改 cache 驱动,需要检查以下文件中「driver」项:

app/config/cache.php

不要低估通过优化查询语句带来的查询速度的提升
就像你看到的,大部分优化都是在不同的层面使用缓存。但当面临数据库优化时,你不应该依赖缓存。缓存应是优化查询的最后手段。

缓存查询结果

MySQL 不会替你做这件事,也不如你自己做的好。当然了你肯定不会把应用中每个查询的结果都做缓存,看看数据统计,在应用程序中那些高频率的查询语句,它们真的有必要被频繁地执行?每 15 分钟运行一次然后把相同的结果提供给用户不是更好吗?

在查询构造器中移除了 removing方法是件好事(它曾经是个很好的功能,但不够好 - 人们似乎高估了它的作用)。然后你可以更多地使用 Cache::remember 方法,就像这样:

$posts = Cache::remember('index.posts', 30, function(){return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get();});

以上就是“Laravel应用性能如何提高”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: Laravel应用性能如何提高

本文链接: https://www.lsjlt.com/news/346704.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Laravel应用性能如何提高
    今天小编给大家分享一下Laravel应用性能如何提高的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。缓存配置文件laravel...
    99+
    2023-07-04
  • 如何利用算法提高 Laravel 应用的性能?
    Laravel 是一款流行的 PHP Web 应用程序框架,它提供了许多方便的功能和工具,使得开发 Web 应用程序变得更加容易和快速。然而,当您的应用程序增长时,它可能会遇到性能瓶颈,导致应用程序变慢或崩溃。在这篇文章中,我们将探讨如何使...
    99+
    2023-08-12
    编程算法 load laravel
  • Bash技术如何提高Laravel应用程序的性能?
    Laravel是一个流行的PHP框架,它提供了许多功能和工具,使开发人员能够快速构建Web应用程序。但是,随着应用程序规模的增长,性能问题也开始显现。在这篇文章中,我们将探讨如何使用Bash技术来提高Laravel应用程序的性能。 一、使...
    99+
    2023-06-02
    bash 开发技术 laravel
  • 如何利用PHP-FPM优化提高Laravel应用的性能
    概述:Laravel是一种流行的PHP框架,采用了现代化的设计理念和优雅的语法,使得开发者能够高效地构建Web应用程序。然而,在处理大量并发请求时,性能问题可能会出现。本文将介绍如何利用PHP-FPM来优化和提高Laravel应用的性能。一...
    99+
    2023-10-21
    优化 php-fpm 性能提升 关键词:
  • Laravel响应和ASP异步编程:如何提高Web应用的性能?
    Web应用程序的性能是一个非常重要的话题,因为它直接影响用户体验和网站的可用性。在本文中,我们将讨论两个框架,Laravel和ASP.NET,并探讨如何使用它们的响应和异步编程来提高Web应用程序的性能。 Laravel Laravel是...
    99+
    2023-08-17
    异步编程 laravel 响应
  • 如何使用 ASP 响应接口来提高 Laravel 应用程序的性能?
    Laravel 是一款广受欢迎的 PHP 框架,它提供了丰富的功能和易于使用的 API,帮助开发者轻松构建高质量的应用程序。然而,在处理大量数据或高并发请求时,Laravel 应用程序的性能可能会受到一定影响。ASP 响应接口是一种优秀的解...
    99+
    2023-07-19
    响应 接口 laravel
  • 使用Swoole怎么提高Laravel性能
    使用Swoole怎么提高Laravel性能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。环境1:硬件: 1 CPU, 4 Cores, 16GB MemoryMacOS 1...
    99+
    2023-06-15
  • Laravel 和 Bash:如何通过它们来提高 Web 应用的性能?
    随着 Web 应用的不断发展,对性能的要求也越来越高。为了提高 Web 应用的性能,我们可以使用 Laravel 和 Bash 这两个工具。Laravel 是一个流行的 PHP Web 应用框架,而 Bash 是一个 Unix shell...
    99+
    2023-06-14
    numpy laravel bash
  • Laravel中如何使用PHP数组来提高应用程序的性能?
    Laravel是一个流行的PHP框架,它提供了许多强大的功能,使开发人员可以更快,更轻松地创建高性能应用程序。在Laravel中,PHP数组是一个非常有用的工具,可以帮助你提高应用程序的性能。在本文中,我们将探讨如何使用PHP数组来提高La...
    99+
    2023-08-25
    数组 shell laravel
  • 如何在 PHP Laravel 中使用响应函数来提高应用程序的性能?
    在现代 Web 应用程序中,性能是至关重要的因素之一。当我们开发应用程序时,我们希望应用程序具有良好的性能,以便能够快速响应用户请求。在这篇文章中,我们将探讨如何在 PHP Laravel 中使用响应函数来提高应用程序的性能。 在 Lara...
    99+
    2023-08-24
    laravel 响应 函数
  • Laravel 容器是什么?如何使用它来提高应用程序性能?
    Laravel 是一个流行的 PHP 框架,它提供了很多有用的功能,其中一个是容器。在本文中,我们将深入探讨 Laravel 容器是什么,以及如何使用它来提高应用程序性能。 什么是 Laravel 容器? 在 Laravel 中,容器是一...
    99+
    2023-09-17
    自然语言处理 laravel 容器
  • 如何使用GO语言和Laravel提高缓存性能?
    随着Web应用程序的发展,缓存已经成为了提高性能的重要手段。而GO语言和Laravel都提供了很好的缓存解决方案。本文将重点介绍如何使用GO语言和Laravel提高缓存性能。 GO语言缓存 GO语言提供了一个内置的缓存包,即"contain...
    99+
    2023-11-12
    关键字 缓存 laravel
  • Laravel重定向:使用PHP索引提高性能
    Laravel是一个非常流行的PHP框架,因为其优雅的语法和良好的文档而备受欢迎。在开发Web应用程序时,经常需要使用重定向来将用户从一个URL地址重定向到另一个URL地址。在Laravel中,重定向的实现非常简单,本文将介绍如何使用PHP...
    99+
    2023-09-13
    索引 laravel 重定向
  • Laravel编程中如何优化算法以提高性能?
    Laravel是一款流行的PHP框架,它具有灵活性、可扩展性和易用性等优点,因此得到了广泛的应用。然而,在实际开发中,我们经常会遇到性能瓶颈的问题,特别是在处理大量数据或复杂逻辑时。因此,本文将介绍Laravel编程中如何优化算法以提高性能...
    99+
    2023-09-25
    编程算法 django laravel
  • 如何使用PHP-FPM提高Web应用性能
    随着Web应用的发展和用户量的增加,如何提高Web应用的性能已经成为开发者们关注的焦点之一。而PHP-FPM(FastCGI Process Manager)作为一个高性能的PHP进程管理器,能够有效地提升Web应用的性能。本文将介绍如何使...
    99+
    2023-10-21
    性能 Web应用 php-fpm
  • PHP 分布式数组:如何在 Laravel 中使用它们来提高应用程序性能?
    在大型的应用程序中,数据的处理和管理通常是一个挑战。为了应对这个挑战,我们需要使用一些高效的数据结构来提高应用程序的性能。其中,分布式数组是一种非常有效的数据结构,可以帮助我们快速地处理大量的数据。 在本文中,我们将介绍 PHP 分布式数...
    99+
    2023-09-02
    分布式 数组 laravel
  • 如何在Laravel项目中优化索引以提高性能?
    Laravel是一款流行的PHP框架,可以帮助开发者快速构建Web应用程序。然而,当应用程序规模逐渐扩大时,性能问题可能会成为一个挑战。 在本文中,我们将探讨如何通过优化Laravel项目中的索引来提高性能。 什么是索引? 在数据库中,索引...
    99+
    2023-08-08
    索引 laravel git
  • ASP 和 Laravel 开发技术:如何使用日志来提高性能?
    在 ASP 和 Laravel 开发过程中,日志是非常重要的一部分。通过适当地配置和使用日志,可以帮助我们监测应用程序的运行情况,及时发现并解决问题,同时也能够提高应用程序的性能。本文将介绍如何在 ASP 和 Laravel 开发中使用日...
    99+
    2023-10-02
    laravel 开发技术 日志
  • Laravel响应和ASP异步编程:如何提高Web应用的可伸缩性?
    Web应用程序的可伸缩性是一个广泛讨论的话题。在高流量的情况下,Web应用程序需要能够处理大量的请求,而且还要保证响应时间短。本文将讨论如何使用Laravel响应和ASP异步编程来提高Web应用程序的可伸缩性。 Laravel响应 Lar...
    99+
    2023-08-17
    异步编程 laravel 响应
  • ASP 容器的使用是否能提升 Laravel 应用的性能?
    Laravel 是一个广受欢迎的 PHP Web 框架,它提供了许多强大的功能和工具,使得 Web 应用的开发变得更加容易和高效。然而,随着 Laravel 应用规模的增大,性能问题也逐渐浮现。为了解决这个问题,很多开发者开始研究使用 A...
    99+
    2023-09-30
    容器 关键字 laravel
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作