Swoole使用场景及代码实现

  • 可用于对laravel项目速度优化
  • 借助swoole的异步,无阻塞快速消费MQ

可用于对laravel项目速度优化

基于swoole的特性,有一些作者就开发组件试图将swoole的特性和laravel结合,以提升laravel项目的访问速度和承载能力。

首先看一下原生laravel的压力测试情况:

下载了一个5.8版本的laravel框架,在Test控制器的index方法输出字符串Hello World

jun@zhangjunshengdeMacBook-Pro ~ % wrk -t4 -c100 http://www.**.com/
Running 10s test @ http://www.**.com/4 threads and 100 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     1.21s   212.04ms   1.85s    84.74%Req/Sec    20.62     11.35    60.00     63.77%780 requests in 10.06s, 182.81KB read
Requests/sec:     77.52
Transfer/sec:     18.17KB

平均每秒请求77.52次。

然后试一下使用laravel-swoole这个组件,借助swoole的优势,提升laravel项目的承载能力。
首先在项目根目录启动swoole的http服务:php artisan swoole:http start
然后nginx配置一下代理:

location ~ {proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://127.0.0.1:1215;
}

确认访问域名后nginx转发给了swoole之后,再次进行压力测试。

jun@zhangjunshengdeMacBook-Pro ~ % wrk -t4 -c100 http://www.**.com/
Running 10s test @ http://www.**.com/4 threads and 100 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency   320.76ms  395.42ms   1.73s    78.16%Req/Sec   146.82    143.99     0.88k    87.04%4897 requests in 10.10s, 4.19MB readSocket errors: connect 0, read 0, write 0, timeout 45
Requests/sec:    484.92
Transfer/sec:    425.14KB

平均每秒请求达到了484.92次。

借助swoole的异步,无阻塞快速消费MQ

TODO

Swoole使用场景及代码实现相关推荐

  1. java bitset用途_浅谈Java BitSet使用场景和代码示例

    搜索热词 @H_502_0@一.什么是BitSet? @H_502_0@ 注:以下内容来自JDK API: @H_502_0@ BitSet类实现了一个按需增长的位向量.位Set的每一个组件都有一个b ...

  2. 【设计模式】工厂方法模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

    文章目录 一.工厂方法模式简介 二.工厂方法模式适用场景 三.工厂方法模式优缺点 四.工厂方法模式代码示例 1.产品抽象类 2.产品实现类 1 3.产品实现类 2 4.抽象工厂类 5.实现工厂类 1 ...

  3. 游戏得有活动的场景:代码中生成多行多列的LinearLayout布局

    既然是江湖,总得有一些可以到处跑的地儿. 咱是新手,那就排的简单点,排个几行几列的就完事了.至于到底排个几行几列的,这个倒也说不准. 得,那就不能直接在layout/xml里面直接画了.咋办?也好办, ...

  4. 【设计模式】建造者模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

    文章目录 一.建造者模式简介 二.建造者模式适用场景 三.建造者模式优缺点 四.建造者模式与工厂模式 五.建造者模式代码示例 1.学生类 2.建造者抽象类 3.建造者实现类 4.教师类 ( 非必须 ) ...

  5. 【设计模式】组合模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

    文章目录 一.组合模式简介 二.组合模式适用场景 三.组合模式优缺点 四.组合模式和访问者模式 五.组合模式代码示例 1.书籍和目录的抽象父类 2.书籍类 3.目录类 4.测试类 一.组合模式简介 组 ...

  6. 【设计模式】模板方法模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

    文章目录 一.模板方法模式简介 二.模板方法模式适用场景 三.模板方法模式优缺点 四.模板方法扩展 五.模板方法模式相关设计模式 六.模板方法模式代码示例 1.模板方法抽象类 2.模板方法实现类 1 ...

  7. 【设计模式】迭代器模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

    文章目录 一.迭代器模式简介 二.迭代器模式适用场景 三.迭代器模式优缺点 四.迭代器模式和访问者模式 五.迭代器模式代码示例 1.迭代器接口 2.迭代器实现 3.集合元素实例类 4.集合管理接口 5 ...

  8. 【设计模式】策略模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

    文章目录 一.策略模式简介 二.策略模式适用场景 三.策略模式优缺点 四.策略模式与其它设计模式 五.策略模式代码示例 1.促销策略接口 2.满减促销策略 3.返现促销策略 4.空促销策略 5.促销策 ...

  9. 【设计模式】观察者模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

    文章目录 一.观察者模式简介 二.观察者模式适用场景 三.观察者模式优缺点 四.观察者模式代码示例 1.被观察者 2.观察者 3.通知类 4.测试类 五.JDK 中的观察者模式支持类 1.Observ ...

最新文章

  1. 中fuse_一个Fanotify和FUSE配合使用导致的问题
  2. java发邮件_使用MATLAB自动发邮件
  3. java中的局部变量、成员变量、类变量
  4. 从零开始学JavaWeb
  5. Mybatis框架 导入/导出功能的实现
  6. 自己动手清除电脑中的***程序
  7. bjca客户端 win10_BJCA证书助手 V2.14.4 官方版
  8. 十年前乔布斯曾试图颠覆电视行业 如今苹果终于出手了
  9. html的单元格加线,html表格单元格添加斜下框线的方法
  10. Vmware私有云平台搭建(1)
  11. PhotoShop中合并形状颜色会变化的问题
  12. armbian 安装python3
  13. 逆向破解_iOS_学习笔记_1
  14. 设计师一定要知道这5个免费样机素材网
  15. 智能风控平台之决策引擎介绍
  16. 3.程序员的自我修养 - 完结
  17. mesh组网和AC+AP组网方式哪种好?
  18. 深圳Java学习:面向对象【重点知识】
  19. 如何将webp免费转改成jpg格式?
  20. 2021年学vue还是react好

热门文章

  1. 个人搭建手游联运系统难吗?
  2. 【Java继承】编程练习:水果的信息描述
  3. flex垂直居中,水平居中和其他布局方式
  4. 【第二部分 图像处理】第4章 Opencv图像处理高阶【2毛玻璃滤镜】
  5. Android 常用接口
  6. Leaflet中文文档【转载】
  7. ListView如何单独刷新一个item
  8. 关于Unity粒子系统碰撞的几个坑
  9. 力扣【23】合并K个排序链表
  10. 赛效:在线查询QQ号价格评估的方法是什么