jmeter测试java服务_Jmeter 测试 JMS (Java Message Service)/ActiveMQ 性能

前言

JMS 介绍:JMS 即 Java 消息服务(Java Message Service)应用程序接口,是一个 Java 平台中关于面向消息中间件(MOM)的 API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。(百度

1f609.svg )

本文只测试 ActiveMQ,其他消息中间件应该同理.

ActiveMQ 介绍

JMS 常见 2 种消息模型:

点对点 (Queues 队列)

生产者产生消息,仍 1 条消息给 ActiveMQ,消费者监听 ActiveMQ,从 ActiveMQ 中取走 1 条消息,并销毁这个消息,且只会有一个监听的消费者取走.其他消费者不会取走信息

广播/订阅 (Topics 队列)

广播出 1 条消息给 ActiveMQ,订阅监听 ActiveMQ,所有当时监听 ActiveMQ 的订阅都可以取到这条消息,并销毁这个消息,

3 . 虚拟 Topics

为什么说 2 种消息模型,这里会有第三种,因为 Topics 队列的性质决定,当我要发消息给很多订阅,但是如果订阅监听服务挂掉,就不能收到这个消息,导致消息未发布到这个订阅,所以引申出第三个消息模型,虚拟 Topics.

广播出 1 条消息给 ActiveMQ Topics 队列,ActiveMQ 会自动转换给要分发消息的订阅 Queues 队列.然后订阅监听 Queues 队列去取走消息.这 2 种消息模型的结合,产生出第三种消息模型,虚拟 Topics.

准备工作

以 ActiveMQ 为例子,使用 jmeter 测试 JMS.

Jmeter 版本:3.2

ActiveMQ 版本 5.14.5

编写jndi.properties添加到ApacheJMeter.jar 中

新建jndi.properties到 jmeter/bin 目录下

复制内容为:

java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory

java.naming.provider.url = tcp://IP:61616

connectionFactoryNames = connectionFactory

queue.T_MDM_Q = Queue.T_MDM

queue.T_IPS_Q= Queue.T_IPS

topic.T_MDM_T= VirtualTopic.T_MDM

topic.T_IPS_T= VirtualTopic.T_IPS

java.naming.factory.initial:ActiveMQ jar包中 init 所需的 类名

java.naming.provider.url:ActiveMQ的地址

connectionFactoryNames:链接工厂名称

queue.T_MDM_Q:队列名称

queue:说明是queue队列

T_MDM_Q:自定义字段,在后面用来指向队列名称

同理topic.T_MDM_T

把配置文件打到ApacheJMeter.jar 中

在 jmeter/bin 目录下运行

jar uf ApacheJMeter.jar jndi.properties

下载 ActiveMQ

把 ActiveMQ 下 activemq-all-x.x.x.jar放到 Jmeter/lib 下

配置 Jmeter 进行测试 点对点 (Queues 队列)

待测消息模型:点对点 (Queues 队列)

待测队列名称:Queue.T_MDM

右键》添加》sampler》JMS point-to-point 添加一个队列的界面

df8204490270fe531c2cc110b742e6db.png

e1d846cb941674a549b6789487ef6b84.png

QueueConnection Factory:jndi.properties中 connectionFactoryNames 字段

JNDI Name Request queue:生产者向哪个队列插入消息,jndi.properties中对应待测队列名称的 queue.xxxxx

JNDI Name Reply queue:消费者从哪个队列取消息,jndi.properties中对应待测队列名称的 queue.xxxxx

Content:消息内容

InitialContextFactory:org.apache.activemq.jndi.ActiveMQInitialContextFactory

Provider URL:ActiveMQ 地址

配置 Jmeter 进行测试 发布/订阅 (Topic 队列)

待测消息模型:发布/订阅 (Topic 队列)

待测队列名称:VirtualTopic.T_MDM

配置发布 Publisher

右键》添加》sampler》JMS Publisher 添加一个 Publisher 界面

592a55a9ce1db37bcdae974fec9874d7.png

InitialContextFactory:org.apache.activemq.jndi.ActiveMQInitialContextFactory

Provider URL:ActiveMQ 地址

QueueConnection Factory:jndi.properties中 connectionFactoryNames 字段

Destination:发布往队列的名称,jndi.properties中对应 Topic 队列名称的 topic.xxxx

Text Massage:发布的消息

配置订阅 Subscriber

右键》添加》sampler》JMS Subscriber 添加一个 Publisher 界面

d6c89562c8bfd46bfe6ec17822b4cd26.png

总结

上面只介绍了 ActiveMQ 的配置方法,因为我也只调了 ActiveMQ,其他 JMS 中间件没有试过,如果你们项目中需要,可以试一下.

Jmeter 测试 JMS 中涉及的其他参数设置,可能会用到的,查看 Jmeter 说明http://jmeter.apache.org/usermanual/build-jms-point-to-point-test-plan.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MetroGridHelper: A helpful debugging assistant for designers and developers alike

You’ve heard me preach it before: fix those margins, align, and try and make your apps as beautiful and inspiring as you can (see also: my designer tips for developers). On Thursday, I stopped by the Windows Phone Design Team’s beautiful studio space her…

马斯克和贝索斯的“星球大战”

全世界只有3.14 % 的人关注了数据与算法之美商业太空计划已经蓬勃发展了十年。在这个领域中,最雄心勃勃的两家公司当属Blue Origin(蓝色起源)和SpaceX(太空探索技术公司),而它们之间的竞争一直是众人的焦点…

【招聘(北京)】北京华光普泰生物招聘.NET软件开发

.Net开发工程师——中级 3~5年 15~20K公司名称:北京华光普泰生物技术有限公司工作地址:北京市海淀区青云当代大厦岗位职责:1. 与技术负责人讨论确定项目架构和技术选型等关键问题并形成技术方案2. 完成软件子系统框架设计,包括基本…

java pojo 是什么_什么是POJO

POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。在Java应用程序中的角色使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其gettersetter方法的类,没有业务逻辑&#xf…

JMeter基础知识

2019独角兽企业重金招聘Python工程师标准>>> 1.JMeter常用术语 1)采样器(Samplers) 采样器是JMeter测试脚本的基础单元,用户可以用他来向服务器发出一个特定的请求,比如HTTP请求、JAVA请求。 2&#xff…

开年趣图汇总:对不起,让你笑了这么久

全世界只有3.14 % 的人关注了数据与算法之美房东家小孩抓周,感觉不管抓什么都很有未来....计算机语言成就一段恋情程序员,千万别像他学习如果编程语言是工具你这工作怎么越做越晚呢?那一刻,程序员露出了尴尬又不失礼貌的微笑这个名…

【视频回放】Best of Build Tour in China 暨 Watching Party - 大湾区专场

活动介绍微软一年一度的Build大会已经在5月25-27日盛大召开,今年的主题演讲,全球CEO Satya Nadella从开发者速度,智能云原生应用,以及在混合工作场景下提高生产力等诸多话题进行探讨。为了让技术社区和开发者更好地了解微软Build大…

android关于获取摄像头帧数据转成图片

第一部分: 由于Android下摄像头预览数据只能 ImageFormat.NV21 格式的,所以解码时要经过一翻周折. Camera mCamera Camera.open(); Camera.Parameters p mCamera.getParameters(); p.setPreviewFormat(ImageFormat.NV21); /*这是唯一值,也…

Entity Framework Core 6.0 预览4 性能改进

起因微软在Build2021开发者大会上,发布Entity Framework Core 6.0(简称EFCore 6)预览第四版,号称是性能版本,性能提升主要对于Entity Framework Core 5.性能改进:EFCore 5.0和EFCore 6.0基准测试,提升了70%.在查询时,比EFCore5.0提升了31%.内存改进了不少,减少43%.减少内存分配…

这个地球仪太惊艳了,陪孩子畅聊天文地理。

▲数据汪特别推荐点击上图进入玩酷屋一个人一旦对某事物有了浓厚的兴趣,就会主动去求知、去探索、去实践,并在求知、探索、实践中产生愉快的情绪和体验。所以,古今中外的教育家无不重视兴趣在智力开发中的作用。小木之前推荐过一款AR地球仪&a…

两篇很牛的vim使用技巧

2019独角兽企业重金招聘Python工程师标准>>> 读本文之前请注意: 1. 本文的目标是提供一些vim的使用技巧,利用这些技巧可以提高vim的操作效率。部分技巧在vi上也可以使用,但是现在基本上都是用vim了。 2. 本文是整理和总结使用技巧…

日志组件DotNetCommon.Filelog

介绍根据Microsoft.Extensions.Logging.Console改造的本地文件日志输出组件,轻量便捷,运行平台:asp.net core。1. 为什么要写这个项目,开源的日志组件不够用吗?第一:微软提供了一个很好的日志输出框架&…

辍学程序员改变世界,这位长得像马云的90后要击败Facebook的扎克伯格了…

全世界只有3.14 % 的人关注了数据与算法之美众所周知,Facebook的创始人扎克伯格(Mark Zuckerberg),是史上最年轻的世界亿万富豪。小扎作为社交网络时代的的缔造者,成为了当之无愧的程序员界80后杰出代表。但数据汪今天…

java十六进制大小端转换_字节顺序

1、定义 字节顺序,又称端序或尾序(英语:Endianness),在计算机科学领域中,指电脑内存中或在数字通信链路中,组成多字节的字的字节的排列顺序。 在几乎所有的机器上,多字节对象都被存储为连续的字节序列。 2、表现形式 字节的排列方式有两个通用规则。例如,将一个多位数的…

Android开发入门之学习笔记(三):程序窗口的布局

2019独角兽企业重金招聘Python工程师标准>>> Android应用程序的用户界面可以看作是由View和View Group组成的,从字面意思上就可以看出,View Group是可以包含多个View的。借用官方教程的图可以更容易理解: 说到这里,我…

c#爬虫-解决ChromeDriver 版本问题

问题Selenium c# 进行爬虫时报错 selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 84产生问题的原因因为下载的ChromeDriver版本与本地chrome浏览器的版本不一致导致的。因…

用gradle启动java项目_构建Java项目

#构建Java项目#上一节我们简要介绍了如何编写一个单机的To Do应用,接下来要打包部署成可执行的应用,我们需要编译源代码,生成的class文件需要打包到JAR文件中。JDK提供了javac 和jar工具帮助你实现这些任务,但是你也不想每次源代码…

今天,滴滴被爆亏损109亿,需裁员2000多人,哪些员工会被裁掉?

全世界只有3.14 % 的人关注了数据与算法之美近日,一份滴滴出行内部流传出来的财务数据显示,该公司2018年持续巨额亏损,全年亏损高达109亿元人民币。若消息属实,那将说明,自2012年滴滴成立以来就一直处于亏损状态&#…

ftp服务器搭建遇到的问题

FAQ:vsftpd.rpm包安装之后,启动服务,不能在网页里看到pub目录 A: 关闭selinux、iptables服务再试试 FAQ:能看到其他人的家目录,没有成功的把用户锁定到自己的家目录下 A: 配置文件手动更改默认…

C#中Lock的秘密

一、概要本文主要讲解在c#中lock关键字的用法以及需要注意的坑。帮助大家避免使用不当造成的bug。作用:lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。它可以把一段代码定义为互斥段(critical p),互斥…