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"}}

    解决办法:
    下载安装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应用测试,但后来扩展到其他测试领域。

可以参考我的另一片帖子

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ActiveMQ测试工具是用于测试ActiveMQ消息队列的工具。ActiveMQ是一种开源的消息中间件,可以实现异步消息的传输和处理。通过使用ActiveMQ测试工具,我们可以对ActiveMQ的性能和稳定性进行评估,以确保在实际生产环境中能够正常运行。 ActiveMQ测试工具主要包括以下几个方面的功能: 1. 发送和接收消息:可以通过测试工具ActiveMQ发送消息并接收返回消息,以验证消息的正确性和可靠性。 2. 压力测试:可以模拟高并发的消息发送和接收情况,测试ActiveMQ在大负载下的性能表现。 3. 持久性测试:可以测试ActiveMQ在重启或故障恢复后对消息的持久性和可靠性处理。 4. 集群测试:可以模拟分布式环境下的消息传递和故障转移,验证ActiveMQ在集群环境中的稳定性和可用性。 5. 监控和统计:可以实时监控ActiveMQ的运行状态,并对消息队列的性能指标进行统计和分析,以便进行性能调优和优化。 通过使用ActiveMQ测试工具,我们可以及时发现潜在的问题并进行调整和改进,从而提高系统的稳定性和性能。同时,测试工具也可以帮助开发人员更好地了解ActiveMQ的使用和原理,为项目的设计和实施提供参考和指导。 ### 回答2: ActiveMQ是一个开源的消息中间件软件,用于在分布式系统中实现异步通信。ActiveMQ测试工具是用于测试ActiveMQ消息中间件的工具集。 ActiveMQ测试工具有以下功能: 1. 消息发送和接收测试:可以使用ActiveMQ测试工具发送和接收消息,验证消息的发送和接收功能是否正常工作。可以设置消息的内容、目的地和其他属性,同时可以监听消息,实时监控消息的发送和接收情况。 2. 性能测试:ActiveMQ测试工具可以模拟大量的消息发送和接收,测试ActiveMQ在高负载情况下的性能表现。可以设置并发线程数、消息大小、消息数量等参数,对ActiveMQ进行性能测试并分析性能指标。 3. 事务测试:ActiveMQ支持事务,可以保证消息的可靠性和一致性。ActiveMQ测试工具可以模拟事务场景,测试ActiveMQ在事务处理中的表现。可以测试事务的提交和回滚功能,并验证消息在事务处理过程中的正确性。 4. 高可用性测试:ActiveMQ支持集群模式,可以实现高可用性和负载均衡。ActiveMQ测试工具可以测试ActiveMQ在集群模式下的高可用性和负载均衡能力。可以模拟节点故障、网络分区等情况,测试ActiveMQ在异常情况下的表现。 总之,ActiveMQ测试工具是为了帮助开发人员测试和验证ActiveMQ消息中间件的功能和性能。通过使用ActiveMQ测试工具,可以提高开发人员对ActiveMQ的理解和熟练程度,保证ActiveMQ在实际项目中的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值