前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jmeter测试Activemq队列

Jmeter测试Activemq队列

作者头像
查拉图斯特拉说
发布2023-10-25 15:59:58
2100
发布2023-10-25 15:59:58
举报
文章被收录于专栏:后端架构后端架构

概要

主要的目标是测试MQ队列的性能表现,以确定其在各种不同的网络和硬件环境下的性能表现,以及其在负载增加时的响应速度和稳定性。

版本号:

ActiveMq Artemis 版本号:  2.19.0

Jmeter 版本号:   5.6.2

整体架构流程

提示:这里主要是面对两个方向,点对点和发布订阅

点对点配置

发布订阅配置

技术名词解释

Jmeter线程组

线程组元素是任何测试计划的起点。所有控制器和采样器必须位于线程组下。其他元素(例如侦听器)可以直接放置在测试计划下,在这种情况下,它们将应用于所有线程组。顾名思义,线程组元素控制 JMeter 将用于执行测试的线程数。线程组的控件允许您:

  • 设置线程数
  • 设置斜坡上升周期
  • 设置执行测试的次数

每个线程将完整地执行测试计划,并且完全独立于其他测试线程。多个线程用于模拟与服务器应用程序的并发连接。

加速周期告诉 JMeter 需要多长时间才能“加速”到所选线程的全部数量。如果使用 10 个线程,并且启动周期为 100 秒,那么 JMeter 将花费 100 秒来启动并运行所有 10 个线程。每个线程将在前一个线程开始后 10 (100/10) 秒启动。如果有 30 个线程且启动周期为 120 秒,则每个连续线程将延迟 4 秒。

Ramp-up 需要足够长,以避免测试开始时工作负载过大,并且足够短,以便最后一个线程在第一个线程完成之前开始运行(除非有人希望发生这种情况)。

从 Ramp-up = 线程数开始,然后根据需要向上或向下调整。

默认情况下,线程组配置为循环遍历其元素一次。

线程组还允许指定线程的生存期。单击“线程组”面板底部的复选框以启用/禁用额外字段,您可以在其中输入测试持续时间和启动延迟 您可以配置“持续时间(秒)”和“启动延迟(秒)”来控制每个线程的持续时间组以及在多少秒后开始。当测试开始时,JMeter将等待Startup Delay(秒),然后再启动线程组的线程,并运行配置的Duration(秒)时间。

技术细节

发布订阅的topic配置需要在前面加上dynamicTopics详细请看观望11.2描述

11.2 添加JMS订阅者和发布者

第6条,输入消息主题的名称。对于 ActiveMQ 动态主题(动态创建主题),示例值为“ dynamicTopics/MyStaticTopic1”

测试 pub-sub 50000数据

thread number: 14

second: 0.1

count : 3572

publisher

统计图表

subscriber

统计图表

统计表格

测试发布订阅20000数据

thread number: 14

second: 0.1

count : 1429

publisher

统计图表

统计表格

subscriber

统计图表

统计表格

测试发布订阅10000数据

thread number: 14

second: 0.1

count : 715

publisher

统计图表

统计表格

subscriber

统计图表

统计表格

测试point-to-point 50000数据

统计图表

统计表格

小结

根据之前的测试结果来看,比起我本地写代码测试的结果还是有点差距,测试还是得用工具来测试,写代码还是会有点差距。我是拿着50000数据的发布订阅模式来统计的,本地代码发送接收处理耗时26904ms,平均下来一秒1858条数据,有时候差一点1秒1697条,jmeter测试统计平均1秒1200条数据,考虑到本地会有其他的进程在跑所以有一定误差成分,之前在两台机器之间发布订阅发现误差毫秒级,但是到了本地和服务器两台机器之间的延迟蛮严重的。

不过总的来说jmeter测试还是比较直观一点,需要优化一下参数可能会更接近真实水平

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档