消息队列是目前的主流中间件,我们在日常测试过程中,无论是接口还是压力测试,都会遇到需要处理这些中间件数据的情况。本文以Activemq的Topic为例,说明如何基于Jmeter实现消息队列数据的发送和接受。

ActiveMQ

Apache ActiveMQ是Apache软件基金会研发的开源消息中间件,它是基于JMS规范实现的。JMS( Java Message Service ) Java 消息服务,是Java EE的规范,JMS允许应用程序基于Java平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及支持异步消息

JMS常见2种消息模型

• 点对点(Queues队列) 生产者生产消息,消费者监听消息,消息只能被一个消费者取走

• 广播/订阅(Topics 队列) 生产者广播消息,订阅者监听消息,消息可以被所有订阅者取走

ActiveMQ的安装非常简单,官网下载安装包,启动完服务出现如下控制台界面,说明安装成功

Jmeter发布和消费消息

• Jmeter内置对ActiveMQ的支持,Jmeter的lib里自带ApacheJmeter_jms.jar包,申明调用接口,在使用Jmeter处理消息队列以前,首先将activemq 下的 "activemq-all-5.x.x.jar" 复制到 "apache-jmeter-x.xxlibext" 文件夹下作为JMS接口的具体实现类。

• 新建Jmx脚本,在线程组下添加JMS发布者

• 运行脚本,查看结果树中显示运行成功

• 进入JMS控制台,发现新增上述步骤中添加的testtopic1,并且其中消息数随着脚本运行递增。

• 新增JMS订阅者,订阅上述步骤中的消息队列,运行脚本能够看到消息被消费

上述内容是以activemq为例的消息队列处理,目前业界主流的消息队列还有基于AMQP协议的RabbitMQ,预知后事如何,请听下回分解。

作  者:Testfan Kitty

出  处:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

Jmeter中间件处理-ActiveMQ的更多相关文章

  1. 基准测试-jmeter压力测试activeMQ之一环境安装配置

    jmeter压力测试activeMQ 摘要:linux(CentOS)单机activeMQ安装.window(2008Server)Jmeter配置activeMQ包.Jmeter配置linux监控 ...

  2. Jmeter中间件处理-缓存

    前言 消息队列和缓存是目前主流的中间件,我们在日常测试过程中,无论是接口还是压力测试,都会遇到需要处理这些中间件数据的情况.本文以Redis对缓存做一个简单的介绍,并基于Jmeter实现缓存数据处理. ...

  3. jmeter向ActiveMQ发送消息_广播/订阅(Topics 队列)

    问题描述:测试中需要模拟大量设备的消息上报到平台,但是实际测试中没有那么多设备,所以采取用jmeter直接往ActiveMQ模拟发送设备消息 解决思路:获取平台采取的是Queues还是Topics : ...

  4. MQ学习(二)----ActiveMQ简介(转)

    1.  什么是ActiveMQ ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的.可扩展的.稳定的和安全的企业级消息通信.ActiveMQ使用A ...

  5. Apache ActiveMQ实战(1)-基本安装配置与消息类型

    ActiveMQ简介 ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的.可扩展的.稳定的和安全的企业级消息通信.ActiveMQ使用Apache ...

  6. ActiveMQ详解

    Apache ActiveMQ介绍 使用MQ的场景 ActiveMQ的安装 收发消息的简单实现 ActiveMQ内部实现 queue和topic 消息持久化 kahadb原理 最关键的6个配置 Apa ...

  7. 消息队列之 ActiveMQ(山东数漫江湖)

    简介 ActiveMQ 特点 ActiveMQ 是由 Apache 出品的一款开源消息中间件,旨在为应用程序提供高效.可扩展.稳定.安全的企业级消息通信. 它的设计目标是提供标准的.面向消息的.多语言 ...

  8. 消息队列之 ActiveMQ

    简介 ActiveMQ 特点 ActiveMQ 是由 Apache 出品的一款开源消息中间件,旨在为应用程序提供高效.可扩展.稳定.安全的企业级消息通信. 它的设计目标是提供标准的.面向消息的.多语言 ...

  9. 手把手教你如何玩转消息中间件(ActiveMQ)

    手把手教你如何玩转消息中间件(ActiveMQ) 2018年07月15日 18:07:39 Cs_hnu_scw 阅读数 12270 标签: 中间件消息中间件ActiveMQ分布式集群 更多 个人分类 ...

随机推荐

  1. 使用canal通过mysql复制协议从binlog实现热数据nosql缓存(1)

    binlog: mysql在运行过程中执行的DML(增删改)操作都会以二进制形式记录在binlog中 canal server: canal server作为从数据库(slave)向主数据库发送dum ...

  2. 《精通并发与Netty》学习笔记(13 - 解决TCP粘包拆包(一)概念及实例演示)

    一.粘包/拆包概念 TCP是一个“流”协议,所谓流,就是没有界限的一长串二进制数据.TCP作为传输层协议并不不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行数据包的划分,所以在业务上认 ...

  3. 简单记录一下虚拟机中安装Linux的流程以及部分软件的安装命令

    一,虚拟机使用的是VMware9 ,linux使用的是服务器中用的比较多的CentOS6.4.稍后我会把这两个版本放到网盘中,需要的朋友可以去下载: 网盘地址: 二,VM的安装比较简单,基本上按照网上 ...

  4. std::replace函数

    需包含头文件#include <algorithm> template <class ForwardIterator, class T> void replace (Forwa ...

  5. shell 入门学习

    目录 shell 入门学习 注释 执行与启动 变量 语法 调试 title: shell 入门学习 date: 2019/7/16 15:47:49 toc: true --- shell 入门学习 ...

  6. docker镜像内没有vim

    问题: 我们在容器中找不到vim等命令   原因: 镜像制作的时候没把这些东西加进去   解决: 用apt update更新源之后再安装vim apt update apt-get install - ...

  7. Gradle DSL Walle渠道包后安装启动APP

    DSL(Domain-Specific Language) Gradle 是一个编译打包工具,但实际上它也是一个编程框架. Task 是 Gradle 中的一种数据类型,它代表了一些要执行或者要干的工 ...

  8. Cacls和ICacls

    解释:  Cacls:显示或修改文件的访问控制列表(ACL) ICACLS:显示或修改自由访问控制表(Dacl) 上指定的文件,并指定目录中的文件应用于存储的 Dacl. 总结:显示或修改文件访问控制 ...

  9. ssm+reids缓存整合

    在说正文之前我们先介绍一下redis: redis是当今比较热门的非关系型数据库之一,他使用的是key-value的键值对来进行存储,是一个存在于内存之中的数据库,我们一般用于做数据缓存.当我们需要大 ...

  10. 对JSON.parse()中存在转义字符的解决以及js中替换函数replace()的认识

    在工作中,遇到对页面数据进行转存json格式数据后存储在数据库中.然而在显示数据时遇到无法显示json中的数据,产生的bug 问题抛出: 1.首先认识下,在JSON.parse()将后台传过来的字符串 ...