同步操作将从 梁大帅/armyant 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
mqant压力测试工具
armyant是从http压力测试工具hey改装而成。
hey只支持http接口的压力测试而armant可以自定义压测协议。
目前默认实现了http,mqtt两种协议的压力测试工具
go get github.com/eclipse/paho.mqtt.golang
armyant无命令行工具,目前需要通过源码编译执行
入口 http_task.go
具体实现: http_task/work.go
入口 mqtt_task.go
具体实现 mqtt_task/work.go
可以通过修改work.go代码来灵活更改具体的压测内容
默认情况下普通操作系统都会限制系统同时打开的文件数量,mac系统默认是256. 如果不放开该限制armyant发出更多并发请求。
http://blog.csdn.net/mingtingjian/article/details/77675761
自己百度
默认的paho.mqtt.golang客户端是内存怪兽,每一个mqtt客户端都会消耗巨大内存 gopath/src/github.com/eclipse/paho.mqtt.golang/client.go
c.messageIds = messageIds{index: [65535]Token{}} 默认会创建65535个Token
改为
c.messageIds = messageIds{index: [10]Token{}}
gopath/src/github.com/eclipse/paho.mqtt.golang/messageids.go
messageids.go 文件也需要做对应修改
系统硬件:
MAC电脑2核,16G内存,固态硬盘
进程:
压测结果:
每一个连接每秒发出1个远程调用请求
能达到的最大并发数为:5000
内存使用:
mqantserver进程 131M aryant 进程 191m
如只连接不发远程调用请求可以轻松上万并发
本次压测结果并不严谨,所用设备是自己的MAC电脑,同时还开启了很多编译器。 压测工具与测试进程也都在同一台机器,压测瓶颈主要在CPU性能上
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。