内容简介:第 86 篇文章这是关于 Swoole 入门学习的第十篇文章:压测 swoole_收到读者提问 “使用 Swoole 开发的群聊功能,想知道并发情况,也就是想压测下 QPS,一直未找到方法 ...”
第 86 篇文章
这是关于 Swoole 入门学习的第十篇文章:压测 swoole_ websocket_ server 性能。
概述
收到读者提问 “使用 Swoole 开发的群聊功能,想知道并发情况,也就是想压测下 QPS,一直未找到方法 ...”
对 swoole_ http_ server 压测,咱们可以使用 Apache 的 ab 命令。
对 swoole_ websocket_ server 压测,使用 ab 命令是不能压测的,我从网上一直也没找到合适的方法,看官方提供的代码 benchmark/async.php 中,使用的异步模块 swoole\http\client 方法进行压测的,但在 Swoole 4.3 版本就移除了异步模块,让使用 Coroutine 协程模块。
在本地我用 Coroutine 协程实现了一下, 测的差不多的时候,一直不确定是否正确,就在 segmentfault 发了个提问,没想到韩老师回答了,'如果的如果'老师也回答了,非常感谢两位老师的答案,然后整理出文章分享给大家。
测试机
Mac 上安装的 Parallels Desktop 虚拟机
系统:Ubuntu 16.04.3 LTS
内存:
-
数量:1
-
核数:2
CPU:
-
数量:1
-
大小:2G
Server 代码
压测脚本
压测结果
以上是压测结果,供参考。
小结
通过这个压测结果,表明 Swoole 的执行效率是杠杠的!
当然还有一些参数是可以调优的,比如:worker_ num、max_ request、task_ worker_ num 等。
在真实的业务场景中,肯定会有逻辑处理,也会使用到 MySQL 、Redis。
那么问题来了,前两篇文章已经分享了,Swoole Redis 连接池、Swoole MySQL 连接池,感兴趣的同学,可以使用上两种连接池,然后再进行压测。
不知不觉,Swoole 入门文章已经写了 10 篇了,非常感谢大家的捧场,真心希望能够对 Swoole 入门学习的同学,有点帮助。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java编程思想
埃克尔 / 机械工业出版社 / 2007-5-1 / 79.00元
《Java编程思想(英文版•第4版)》内容简介:特色:1.适合初学者与专业人员的经典的面向对象的叙述方式;为更新的Java SE5/6的相关内容增加了新的示例和章节。2.测验框架显示程序输出。3.设计模式贯穿于众多示例中:适配器、桥接器、职责链、命令、装饰器、外观、工厂方法、享元、点名、数据传输对象、空对象、代理、单例、状态、策略、模板方法以及访问者。4.为数据传输引入了XML;为用户界面引入了S......一起来看看 《Java编程思想》 这本书的介绍吧!