广告
返回顶部
首页 > 资讯 > 精选 >在Swoole上运行Laravel的原因是什么
  • 557
分享到

在Swoole上运行Laravel的原因是什么

2023-06-30 10:06:33 557人浏览 安东尼
摘要

这篇文章主要介绍“在Swoole上运行Laravel的原因是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“在Swoole上运行Laravel的原因是什么”文章能帮助大家解决问题。Swoole 是

这篇文章主要介绍“在Swoole上运行Laravel的原因是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“在Swoole上运行Laravel的原因是什么”文章能帮助大家解决问题。

Swoole 是为 PHP 开发的生产级异步编程框架。 他是一个纯 C 开发的扩展, 他允许 php 开发者在 PHP 中写 高性能,可扩展的并发 tcp, UDP, Unix SocketHttpwebsocket 服务, 而不需要拥有太多的非阻塞 I/O 编程和低级别的 linux 内核知识。 你可以把 Swoole 想象成 nodejs, 但对于 PHP 来说将有更高性能。

为什么要在 Swoole 上运行 Laravel?

下图展示了 PHP 的生命周期。正如你所看到的那样,当你每次运行 PHP 脚本的时候,PHP都需要初始化模块并为你的运行环境启动Zend引擎。并且将 PHP 脚本编译为 OpCodes 以便 Zend引擎执行。

但是, 这样的生命周期需要在每次请求的时候都执行一遍。因为单个请求创建的环境在请求执行结束后会立即销毁。

换句话说, 在传统的 PHP 生命周期中, 为了脚本执行而浪费了大量的时间去创建和销毁资源。想象一下像 Laravel 这样的框架, 在每次请求中需要加载多少文件? 同时也浪费了大量的 I/O 操作

因此如果我们利用 Swoole 内置一个应用级别的 Server, 并且所有脚本文件在加载一次之后便可以保存在内存中呢? 这就是为什么我们需要尝试在 Swoole 上运行 Laravel。 Swoole 可以提供强大性能而 Laravel 则可以提供优雅代码结构使用。这俩儿真是完美组合 !

安装

以下是 swooletw/laravel-swoole 的主要特点:

  • 在 Swoole 运行 Laravel/Lumen 应用

  • 出色的性能提升至 30x

  • 沙盒模式隔离应用程序容器

  • 支持在 Laravel 应用中运行 WEBSocket 服务器

  • 支持 Socket.io 协议

  • 支持 Swoole 表跨进程共享

使用 Composer 安装:

$ composer require swooletw/laravel-swoole

这个包依赖于 Swoole 。在使用这个包之前,请确保你的机器安装了正确的 Swoole 。使用下面的命令快速安装(linux):

pecl install swoole

在安装这个扩展之后,你需要编辑 php.ini 添加  extension=swoole.so

php -i | grep php.ini                      # check the php.ini file locationsudo echo "extension=swoole.so" >> php.ini  # add the extension=swoole.so to the end of php.iniphp -m | grep swoole                       # check if the swoole extension has been enabled

访问 官网 获取更多的信息。

注意:Swoole 现在只支持 Linux 和 OSX 。windows 服务器现在还不支持。

然后,添加服务提供者:

如果你使用 Laravel ,在 config/app.php 服务提供者数组添加该服务提供者:

[    'providers' => [        SwooleTW\Http\LaravelServiceProvider::class,    ],]

如果你使用 Lumen ,请将下面的代码添加到 bootstrap/app.php

$app->reGISter(SwooleTW\Http\LumenServiceProvider::class);

这个包支持包自动发现机制。如果你运行 Laravel 5.5 以上版本,你可以跳过这一步。

建立并运行起来

现在,你可以执行以下的命令来启动 Swoole HTTP 服务。

$ php artisan swoole:http start

然后你可以看到以下信息:

Starting swoole http server...Swoole http server started: <http://127.0.0.1:1215>

现在可以通过访问 http://127.0.0.1:1215 来进入 Laravel 应用。

基准测试

使用 MacBook air 13寸(2015年产)及干净的 Lumen 5.5 项目测试
基准测试工具: wrk

wrk -t4 -c100 http://your.app

基于 FPM 的 Nginx

Running 10s test @ http://lumen.app:9999  4 threads and 100 connections  Thread Stats   Avg      Stdev     Max   +/- Stdev    Latency     1.14s   191.03ms   1.40s    90.31%    Req/Sec    22.65     10.65    50.00     65.31%  815 requests in 10.07s, 223.65KB readRequests/sec:     80.93Transfer/sec:     22.21KB

Swoole HTTP 服务

Running 10s test @ http://127.0.0.1:1215  4 threads and 100 connections  Thread Stats   Avg      Stdev     Max   +/- Stdev    Latency    11.58ms    4.74ms  68.73ms   81.63%    Req/Sec     2.19k   357.43     2.90k    69.50%  87879 requests in 10.08s, 15.67MB readRequests/sec:   8717.00Transfer/sec:      1.55MB

关于“在Swoole上运行Laravel的原因是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 在Swoole上运行Laravel的原因是什么

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

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

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

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

下载Word文档
猜你喜欢
  • 在Swoole上运行Laravel的原因是什么
    这篇文章主要介绍“在Swoole上运行Laravel的原因是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“在Swoole上运行Laravel的原因是什么”文章能帮助大家解决问题。Swoole 是...
    99+
    2023-06-30
  • laravel运行的原理是什么
    Laravel是一个基于PHP的开源Web应用框架,它的运行原理如下: 路由:Laravel使用路由来确定请求应该由哪个控制器处...
    99+
    2023-10-28
    laravel
  • swoole不能用sleep的原因是什么
    这篇文章主要介绍“swoole不能用sleep的原因是什么”,在日常操作中,相信很多人在swoole不能用sleep的原因是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”swoole不能用sleep的原因...
    99+
    2023-06-30
  • laravel框架运行原理是什么
    Laravel框架的运行原理主要是基于MVC(模型-视图-控制器)架构模式。以下是Laravel框架的运行原理的基本步骤:1. 路由...
    99+
    2023-09-06
    laravel
  • php要用swoole扩展的原因是什么
    这篇文章主要介绍“php要用swoole扩展的原因是什么”,在日常操作中,相信很多人在php要用swoole扩展的原因是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php要用swoole扩展的原因是什么...
    99+
    2023-07-05
  • vue可以在浏览器运行的原因是什么
    本文小编为大家详细介绍“vue可以在浏览器运行的原因是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue可以在浏览器运行的原因是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Vue 是一种现代化的前端...
    99+
    2023-07-05
  • web服务器不用swoole的原因是什么
    这篇文章主要介绍“web服务器不用swoole的原因是什么”,在日常操作中,相信很多人在web服务器不用swoole的原因是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web服务器不用swoole的原因...
    99+
    2023-07-05
  • Laravel事件系统的运行原理是什么
    本篇内容介绍了“Laravel事件系统的运行原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在 EventServiceProvid...
    99+
    2023-06-22
  • 电脑运行很慢是什么原因
    电脑运行缓慢的原因可能有多种,包括以下几个方面:1. 硬件问题:例如电脑内存不足、硬盘空间不足、硬件老化等。2. 软件问题:例如运行...
    99+
    2023-09-07
    电脑
  • laravel要用门面的原因是什么
    本篇内容介绍了“laravel要用门面的原因是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在laravel中,因为门面能够为应用的服务...
    99+
    2023-06-30
  • 云服务器一直运行的原因是什么?
    1. 高可用性和可靠性 云服务器是基于云计算技术构建的虚拟服务器,它们通常部署在数据中心的集群中。这些数据中心具有高度的可用性和可靠性,通过冗余硬件、网络和电源设备来确保服务器的持续运行。即使某个物理服务器出现故障,云平台可以自动将虚拟服...
    99+
    2023-10-27
    原因 服务器
  • docker运行nginx使用daemon off的原因是什么
    今天小编给大家分享一下docker运行nginx使用daemon off的原因是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文...
    99+
    2022-10-19
  • laravel中crontab不执行的原因是什么及怎么解决
    这篇“laravel中crontab不执行的原因是什么及怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“laravel...
    99+
    2023-07-04
  • vb一运行就停止工作的原因是什么
    VB程序一运行就停止工作的原因可能有以下几种:1. 语法错误:程序中存在语法错误,导致无法正常解析和运行代码,从而导致程序停止工作。...
    99+
    2023-10-11
    vb
  • python运行出错的原因及解决方法是什么
    Python运行出错的原因很多,常见的包括语法错误、逻辑错误、模块导入错误等。解决方法也因错误的类型而异,以下是一些常见的解决方法:...
    99+
    2023-08-08
    python
  • Hibernate在Java中的运行原理是什么
    这篇文章将为大家详细讲解有关Hibernate在Java中的运行原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是Hibernate?      H...
    99+
    2023-05-31
    hibernate java ava
  • sparkdemo.jar运行在yarn上的过程是什么
    sparkdemo.jar运行在yarn上的过程是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.将之前打包的jar包上传 [root@sht-sgmhadoopnn...
    99+
    2023-06-03
  • sublime text不能运行php的原因是什么和怎么解决
    本篇内容主要讲解“sublime text不能运行php的原因是什么和怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“sublime text不能运行php的原因是什么和怎么解决”吧!一、...
    99+
    2023-07-05
  • Servlet的运行原理是什么
    这篇文章主要介绍“Servlet的运行原理是什么”,在日常操作中,相信很多人在Servlet的运行原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Servlet的运行原理是什么”的疑惑有所帮助!接下来...
    99+
    2023-06-16
  • JavaScript的运行原理是什么
    这篇文章将为大家详细讲解有关JavaScript的运行原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。扫描器源代码首先被分解成 chunk,每个 c...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作