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
    • 不能下载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

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应用测试,但后来扩展到其他测试领域。

转载于:https://www.cnblogs.com/saryli/p/6926191.html

ActiveMQ测试工具相关推荐

  1. mqtt服务器apollo的搭建和测试工具paho的使用

    (1)前言 MQTT协议是IBM开发的一个即时通讯协议; 基于发布/订阅的消息协议,近些年来被广泛应用于能源.电力.....等硬件性能低下的远程设备,此外国内很多企业使用MQTT作为android手机 ...

  2. 网站压力测试工具webbench

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ...

  3. 属性匹配工具_测试工具链——高效构建Mock服务

    现在,WEB系统的开发一般都采用前后端分离的架构,以及部分公司采用"前台-中台-后台"的组织架构,难免会出现开发进度不一致的情况,导致系统联调或测试需要等到所有依赖开发完成后才能够 ...

  4. 微软压力测试工具 web application stress

    WEB服务器的压力测试工具~ 115808 2009年8月1日 lbimba 铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网站,在程序投入运行时,可以用它来进行 ...

  5. 介绍几款浏览器兼容性测试工具

    昨天和朋友聊到了有关浏览器兼容性的问题,在开发中有时的确很让人苦恼,我向他推荐了几款测试浏览器兼容的工具,分享给大伙,有什么更好的工具或是解决方法还希望大家拿出来晒一晒. IETester 这是我最先 ...

  6. python的web压力测试工具-pylot安装使用

    pylot是python编写的一款web压力测试工具.使用比较简单.而且测试结果相对稳定. 这里不得不鄙视一下apache 的ab测试,那结果真是让人蛋疼,同样的url,测试结果飘忽不定,看得人心惊肉 ...

  7. 正则表达式测试工具 Regex Tester 的使用方法

    2019独角兽企业重金招聘Python工程师标准>>> 正则表达式测试工具"RegexTester",下载地址:http://www.oschina.net/p/ ...

  8. JSON Web Tokens测试工具

    JSON Web Tokens官方提供测试工具https://jwt.io某些静态资料需要链接google.twitter服务器,被墙无法访问.现在提供可以方法测试工具http://hingtai.c ...

  9. tcp 测试工具_6款免费网络延迟测试工具

    作为网络管理员或网络工程师,时刻关注网络的交付速度至关重要.不仅需要确保自己有良好的响应时间,还需要确保网络的速度足以满足用户通信所需的每一条路径.而手动测试每个路径将占用你所有的时间.所以需要获得一 ...

最新文章

  1. html中的li排成一行怎么写,html怎么实现li元素有点并分列
  2. 教你一招轻松入门python,不收藏等于错失了一个亿!
  3. python模块文件的扩展名不一定是py_Python导入:导入没有.py扩展名的模块?
  4. c 标签 foreach里面套choose做判断
  5. Zookeeper C API 指南三(回调函数)
  6. ElasticSearch学习(三):配置与集群
  7. 如何把一张照片用 Photoshop 做成动画背景效果?
  8. putty设置xming
  9. wps使用切片器,解决切片器灰色问题
  10. 快速学习Grasshopper的方法
  11. Python 批量获取今日头条街拍美图
  12. 图片在线去水印-一键图片去除水印工具
  13. itextpdf实现文字路径裁切图片
  14. 电脑按Shift+Delete删除了文件该如何恢复?
  15. Ignite Beijing 2019你参加了吗?多图,慎点!
  16. 微信小程序 云开发-答题小程序 demo
  17. Qt多语言实现和动态切换(国际化)
  18. Python之集合相关操作
  19. 学Java 这样入门 28天轻松掌握
  20. [论文阅读:姿态识别Transformer] TFPose: Direct Human Pose Estimation with Transformers

热门文章

  1. 华为手机有哪些功能关掉比较好?
  2. 对方删了你的微信,你列表依然有ta的存在,该不该也把ta删掉?
  3. 家用车多少马力才够用?
  4. 做了全职妈妈后,你的生活将有5个方面的变化
  5. 做一个软件工程师是什么感觉,工作过程中是否觉得开心?
  6. 金橙子打标软件学习流程
  7. qml 连线_将QML信号连接到C 11 lambda插槽(Qt 5)
  8. 系统损坏sql数据库备份_如何识别损坏SQL备份文件
  9. flow使用_使用Microsoft Flow进行文本分析
  10. IDEA 每次启动javaWEB项目,都会自动打开浏览器标签页,如何关闭这么烦人的操作?