ActiveMQ测试工具
1. 测试工具
目前使用两种测试工具进行压力测试
1. Jmeter 测试单客户端收发多主题,测试高并发,大数据量时的接收效率
2. emqtt_benchmark测试多客户端收发主题,测试高吞吐量下服务器性能
1.1 安装Erlang
emqtt_benchmark测试工具使用Erlang语言开发,必须在Linux的环境下运行,因此需要先安装Erlang语言环境。
1.1.1 安装Erlang
可以参考这篇帖子,使安装别的特别简单。1.1.2 安装问题
- 没有安装git,比如出现以下错误:
ERROR: Rebar requires version {1,5} or higher of git to process {git,"git://github.com/talentdeficit/jsx.git",{tag,"v0.9.0"}}- 1
- 1
解决办法:
下载安装Git工具yum install git
make clean
make- 没有安装git,比如出现以下错误:
- 不能下载Erlang,错误:
[root@localhost mqtt-test]# ./kerl build 18.3 18.3
Verifying archive checksum...
Checksum error, check the files in /root/.kerl/archives
解决办法:
删除archives文件夹[root@localhost mqtt-test]# rm -rf /root/.kerl/archives- 不能下载Erlang,错误:
1.2 emqtt_benchmark安装使用
这是一个简单的MQTT基准工具用Erlang编写的。该工具的主要目的是基准测试MQTT服务器可以支持的并发连接数。官网下载
- 1.2.1 下载安装
将下载下来的emqtt_benchmark-master.zip放置一个目录下,并解压缩, 使用make进行编译安装
unzip emqtt_benchmark-master
cd emqtt_benchmark-master
ls
make 1.2.2 订阅命令
在目录emqtt_benchmark-master下执行命令:./emqtt_bench_sub --help,结果如下:[root@localhost emqtt_benchmark-master]# ./emqtt_bench_sub --help
Usage: emqtt_bench_sub [--help <help>] [-h [<host>]] [-p [<port>]]
[-c [<count>]] [-i [<interval>]] [-t <topic>]
[-q [<qos>]] [-u <username>] [-P <password>]
[-k [<keepalive>]] [-C [<clean>]]
[--ifaddr <ifaddr>] --help help information
//服务器ip地址
-h, --host mqtt server hostname or IP address [default: localhost]
//服务器端口号
-p, --port mqtt server port number [default: 1883]
//最大连接客户端数量 默认200
-c, --count max count of clients [default: 200]
//客户端连接间隔时间,默认10毫秒
-i, --interval interval of connecting to the broker [default: 10]
//订阅的主题 %i=自增长序号
-t, --topic topic subscribe, support %u, %c, %i variables
//消息服务qos等级,
//0=最多一次 服务器与 客户端 交互1次
//1=至少一次 服务器与 客户端 交互2次
//2=仅有一次 服务器与 客户端 交互4次
-q, --qos subscribe qos [default: 0]
//客户端用户名
-u, --username username for connecting to server
//用户端密码
-P, --password password for connecting to server
//维持客户端活跃的时间 默认300秒
-k, --keepalive keep alive in seconds [default: 300]
//客户端断开后是否清除session 默认true
-C, --clean clean session [default: true]
//代理ip接口
--ifaddr local ipaddress or interface address举例:创建1000个并发客户端,并每秒接收100条消息频率
./emqtt_bench_sub -c 1000 -i 10 -t bench/%i -q 2
1.2.3 发布命令
执行命令:./emqtt_bench_pub --help,结果如下:[root@localhost emqtt_benchmark-master]# ./emqtt_bench_pub --help
Usage: emqtt_bench_pub [--help <help>] [-h [<host>]] [-p [<port>]]
[-c [<count>]] [-i [<interval>]]
[-I [<interval_of_msg>]] [-u <username>]
[-P <password>] [-t <topic>] [-s [<size>]]
[-q [<qos>]] [-r [<retain>]] [-k [<keepalive>]]
[-C [<clean>]] [--ifaddr <ifaddr>] --help help information
-h, --host mqtt server hostname or IP address [default:
localhost]
-p, --port mqtt server port number [default: 1883]
-c, --count max count of clients [default: 200]
-i, --interval interval of connecting to the broker [default: 10]
//客户端发布消息的时间间隔 默认1000毫秒
-I, --interval_of_msg interval of publishing message(ms) [default: 1000]
-u, --username username for connecting to server
-P, --password password for connecting to server
-t, --topic topic subscribe, support %u, %c, %i variables
//消息字节大小 默认256字节
-s, --size payload size [default: 256]
-q, --qos subscribe qos [default: 0]
-r, --retain retain message [default: false]
-k, --keepalive keep alive in seconds [default: 300]
-C, --clean clean session [default: true]
--ifaddr local ipaddress or interface address举例:创造10个客户,每个客户端发布消息的速度每秒100条,吞吐量1000条/秒
./emqtt_bench_pub -c 10 -I 10 -t bench/%i -s 256
1.3 Jmeter安装使用
Apache JMeter是Apache组织开发的基于Java的压力测试工具。下载
用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
ActiveMQ测试工具的更多相关文章
- mqtt服务器apollo的搭建和测试工具paho的使用
(1)前言 MQTT协议是IBM开发的一个即时通讯协议; 基于发布/订阅的消息协议,近些年来被广泛应用于能源.电力.....等硬件性能低下的远程设备,此外国内很多企业使用MQTT作为android手机 ...
- 渗透测试工具BurpSuite做网站的安全测试(基础版)
渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...
- linux压力测试工具stress
最近给PASS平台添加autoscaling的功能,根据服务器的负载情况autoscaling,为了测试这项功能用到了stress这个压力测试工具,这个工具相当好用了.具体安装方式就不说了.记录下这个 ...
- [.NET] WebApi 生成帮助文档及顺便自动创建简单的测试工具
==========最终的效果图========== ==========下面开始干活:生成帮助文档========== 一.创建 WebApi 项目 二.找到 HelpPageConfig.cs 并 ...
- RabbitMQ调试与测试工具-v1.0.1 -提供下载测试与使用
最近几天在看RabbitMQ,所以发了两天时间写了一个调试和测试工具.方便使用. 下载地址:RabbitMQTool-V1.0.1.zip
- HTTP压力测试工具
HttpTest4Net是一款基于C#实现的和HTTP压力测试工具,通过工具可以简单地对HTTP服务进行一个压力测试.虽然VS.NET也集成了压力测试项目,但由于VS自身占用的资源导致了在配置不高的P ...
- 微软压力测试工具 web application stress
转自 http://www.cnblogs.com/tonykan/p/3514749.html lbimba 铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网 ...
- WebService如何调试及测试工具
http://www.cnblogs.com/zfanlong1314/archive/2012/04/06/2434788.html 通常,我们在Visual Studio里调试ASP.NET网站, ...
- Android高手速成--第四部分 开发工具及测试工具
第四部分 开发工具及测试工具 主要介绍和Android开发工具和测试工具相关的开源项目. 一.开发效率工具 Json2Java根据JSon数据自动生成对应的Java实体类,还支持Parcel.Gson ...
随机推荐
- EOJ Monthly 2018.1
985月赛,当时鸽了,现在想补一补 A. 石头剪刀布的套路 Time limit per test: 1.0 seconds Memory limit: 256 megabytes 现在有一种石头剪刀 ...
- MFC拾遗
c++处理文件,对txt进行处理,学了那么久才发现我还不会这些操作,另外c++处理文本真是快得可怕啊 #include <iostream> #include <fstream> ...
- 静态方法,Arrays类,二维数组
一.静态方法 静态方法属于类的,可以直接使用类名.方法名()调用. 静态方法的声明 访问修饰符 static 类型 方法名(参数列表) { //方法体 } 方法的作用:一个程序分解成几个方法,有利于快 ...
- 【bzoj1690】[Usaco2007 Dec]奶牛的旅行 分数规划+Spfa
题目描述 作为对奶牛们辛勤工作的回报,Farmer John决定带她们去附近的大城市玩一天.旅行的前夜,奶牛们在兴奋地讨论如何最好地享受这难得的闲暇. 很幸运地,奶牛们找到了一张详细的城市地图,上面标 ...
- 树状数组--前n项和;
树状数组是和线段树类似的数据结构,基本上树状数组可以做的线段树都可以做: 树状数组就是一个数组,在信息记录上有一些特点,以动态求前n项和为例:可以改变数组的某一个元素,求前n项和: 数组tree[ i ...
- 只用css3实现菜单的toggle效果
一.原理: 使用label与input来实现,label和复选框是有关联的,label的for属性对应的是input的id,所以点击label时,它就会勾选或取消复选框. 如果我们需要让菜单默认显示, ...
- 记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功
记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功 记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功 记录Spring Boo ...
- 如何发布第一个属于自己的npm包
原文:https://segmentfault.com/a/1190000013940567 什么是NPM? NPM是随同NodeJS一起安装的javascript包管理工具,能解决NodeJS代码部 ...
- 【MFC】MFC中使对话框变成圆角矩形的代码(转)
原文转自 http://blog.csdn.net/cracent/article/details/48274469 BOOL CLoginDlg::OnInitDialog() { CDialog: ...
- linux 下高精度时间
今天在公司代码中看到了使用select函数的超时功能作定时器的用法,便整理了如下几个Linux下的微秒级别的定时器.在我的Ubutu10.10 双核环境中,编译通过. /* * @FileName: ...