这篇文章主要介绍了关于如何使用swoole加速laravel,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

再来复习一下吧,导致 php 慢的各种因素中解析性语言的特性可以说是罪魁祸首,再加上,每次请求完都释放请求时所加载的全部文件,因此也就显得更慢了。

后来我们有了 opcache,使用这个的话,请求时间大概会缩短到原来的一半,但是我们会发现其实花的时间看起来还是很多。

这是为什么呢?原因在于,opcache 只是省去了解析文件的时间,实际运行的时候,我们还是需要去把相同的代码又跑一遍,具体我们可以看下图:

我们假设一下,如果我们的代码跑了一遍,不释放的话,那么下次再跑的时候不就可以节省了这重复的时间?的确是的。

下面开始正题:

1、安装 laravel-swoole 扩展

1

composer require swooletw/laravel-swoole

2、swoole 扩展当然是必不可少的

1

pecl install swoole

  需要在安装完 swoole 扩展之后加到 php.ini 中,不赘述

3、在 config/app.php 服务提供者数组添加该服务提供者:

1

SwooleTW\Http\LaravelServiceProvider::class,

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

1

php artisan swoole:http start

ab 测试

测试环境:ubuntu 18.04,4核8线程 2.7~3.5GHz cpu,8G内存,120G SSD

测试结果:

ab参数:ab -n 1000 -c 100

我们发现 Time per request 是 2.512ms,当然,这只是一个简单的请求,不涉及数据库查询。总的来说,表现是要比 opcache 要好的,但这个毕竟是野路子,有多少坑我们不得而知,目前也不太了解是否有把这个用于生产环境的,但是这个思路其实真的很不错,最后期待一下 php 官方把这个作为研究方向

明确的学习思路能更高效的学习

点击加入该群学习

如何通过swoole加速laravel的问题?的更多相关文章

  1. 使用Swoole加速Laravel(正式环境中)

    1 Laravel的速度瓶颈在哪? 1.1 已有的一些优化方法 1.1.1 laravel官方提供了一些优化laravel的优化方法 php artisan optimize php artisan ...

  2. LaravelS - 基于Swoole加速Laravel/Lumen

    LaravelS LaravelS是一个胶水项目,用于快速集成Swoole到Laravel或Lumen,然后赋予它们更好的性能.更多可能性.Github 特性 内置Http/WebSocket服务器 ...

  3. swoole运行模式加速laravel应用的详细介绍

    本篇文章给大家带来的内容是关于swoole运行模式加速laravel应用的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.Swoole Swoole号称重新定义了PHP, ...

  4. 使用 Swoole 加速你的 CMS 系统,并实现热更新 (基于 Laravel 框架)

    主题:使用 Swoole 加速你的 CMS 系统,并实现热更新 关于 Swoole 的简介不再在此赘述,各位可以自行查看官网的文档进行详细的了解. 本文以 MyCms 为例,简要说明 Swoole 结 ...

  5. 在Swoole上加速Laravel应用

    Swoole是用于PHP的生产级异步编程框架.它是用纯C语言编写的PHP扩展,它使PHP开发人员可以在PHP中编写高性能,可伸缩的并发TCP,UDP,Unix套接字,HTTP,WebSocket服务, ...

  6. 使用 Swoole 加速你的 CMS 系统

    项目介绍 MyCms是一款基于Laravel开发的开源免费的自媒体博客CMS系统,适用于个人网站及企业网站开发使用,助力个人开发者知识技术变现 Swoole介绍 Swoole: PHP的异步.并行.高 ...

  7. laravels -- Swoole加速php

    LaravelS是一个胶水项目,用于快速集成Swoole到Laravel,然后赋予它们更好的性能.更多可能性. 环境 : ubuntu16 + nginx + php7.1 + LaravelS搭建高 ...

  8. 使用 Swoole 来加速 Laravel应用

    Swoole 是为 PHP 开发的生产级异步编程框架. 他是一个纯 C 开发的扩展, 他允许 PHP 开发者在 PHP 中写 高性能,可扩展的并发 TCP, UDP, Unix socket, HTT ...

  9. 使用 swoole 加速你的 laravel

    在此前的另外一篇文章讨论过 opcache:php 性能优化之opcache - 让你的php性能提升 50% 再来复习一下吧,导致 php 慢的各种因素中解析性语言的特性可以说是罪魁祸首,再加上,每 ...

随机推荐

  1. MYSQL DATE_FORMAT参数列表及用法

    MYSQL DATE_FORMAT参数列表及用法 主要涉及用法 DATE_SUB(DATE, INTERVAL EXPR TYPE) DATE_FORMAT(DATE,FORMAT) REPLACE( ...

  2. MyBatis(3)-- Mapper映射器

    一.select元素 1.select元素的应用 id为Mapper的全限定名,联合称为一个唯一的标识 paremeterType标识这条SQL接收的参数类型 resultType标识这条SQL返回的 ...

  3. C#操作sql server

    C#操作sqlserver跟操作其他数据没有太大差别,但是又一些细节要注意一下. 在安装sqlserver时不要选择默认实例,如果是则需要更改设置,还有远程连接要去连接服务中设置一下,如端口1433等 ...

  4. 常用 UML 类图

    一. 类 类图分三层: 第一层是类的名称,如果是抽象类,则用斜体显示. 第二层是类的特性,通常就是字段和属性. 第三层是类的操作,通常是方法或行为.注意 '+' 表示 public,'-' 表示 pr ...

  5. C++智能指针类型转换

    #include <iostream> #include <memory> struct Base { int a; virtual void f() const { std: ...

  6. 发布兼容TS的JS库到nexus和npmjs

    一. 前言 由于node以及绝大多数前端库都是用JavaScript(以下简称JS)语言实现,而Angular是用TypeScript(以下简称TS)实现,虽然TS是JS的超集,但是由于TS和JS对于 ...

  7. 关于之前玩emacs记的些笔记

    移动 C-v 向前翻页 M-v 向后翻页 C-l 当前行居中显示 继续按会依次到上,下,中   C-x C-c 退出 C-g    退出一个正在运行的命令,还可以取消数字参数和只输入到一半的命令   ...

  8. nginx篇高级用法之基于TCP/UDP的四层调度

    nginx 从1.9版本开始支持基于TCP/UDP的四层调度,在编译nginx时使用--with-stream开启该模块 支持TCP/UDP调度时,支持给所有的软件做调度器,例如:nfs smb ft ...

  9. JC的小苹果 逆矩阵

    这题主要有两种做法:1种是用逆矩阵,转移时无须高斯消元.2是将常数项回代.这里主要介绍第一种. 首先题里少个条件:点权非负.设f [ i ][ j ]表示hp为i时,到达j点的期望次数. 那么若点权为 ...

  10. 从0开始编写webpack插件

    1. 前言 插件(plugins)是webpack中的一等功臣.正是由于有了诸多插件的存在,才使得webpack无所不能.在webpack源码中也是使用了大量的内部插件,插件要是用的好,可以让你的工作 ...