RabbitMQ压测简介

这篇具有很好参考价值的文章主要介绍了RabbitMQ压测简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。
所有主要的编程语言均有与代理接口通讯的客户端库。
详细见以下链接介绍:
  • rabbitmq_百度百科 (baidu.com)
  • 【RabbitMQ】MQ的基本概念、RabbitMQ简介及安装-CSDN博客
  • RabbitMQ详解_rabbit mq-CSDN博客
本文主要介绍两种压测工具来压测RabbitMQ,第一种是基于  Jm eter-Rabbit-AMQP插件,使用Jmeter进行压测,另外一种是RabbitMQ自带的RabbitMQ-perf.jar压测工具,该工具支持对prometheus的集成;
  1. 使用jmeter插件进行压测
  • 01 安装JmeterRabbitMQ插件
Jmeter没有内置对RabbitMQ的支持,在使用Jmeter发送和接受RabbitMQ以前,需要首先下载相应插件包编译后放置到Jmeter的lib当中( GitHub - jlavallee/JMeter-Rabbit-AMQP: A JMeter plugin to publish & consume messages from RabbitMQ or any AMQP message broker )安装完插件包以后,新建Jmeter脚本,可以在脚本中看到AMQP Publisher和AMQP Consumer取样器,分别对应AMQP协议的消息发送者和消息接受者。
rabbitmq 压测工具,rabbitmq,压力测试,测试工具,linux,分布式
更加详细安装编译插件参见以下链接介绍:
Jmeter对RabbitMQ压力测试_jmeter压测rabbitmq-CSDN博客
  • 02 Jmeter发送RabbitMQ消息
新建AMQP Publisher,因为本示例采用的是Direct Fanout模式,填写完RabbitMQ连接信息以后,在Publisher里需要指定对应的消费者的绑定Key以及交换机
rabbitmq 压测工具,rabbitmq,压力测试,测试工具,linux,分布式
  • 03 Jmeter接受RabbitMQ消息
新建AMQP Consumer,此处指定RabbitMQ连接信息,交换机名称,类型以及队列名即可(需要和生产者匹配)
rabbitmq 压测工具,rabbitmq,压力测试,测试工具,linux,分布式
运行脚本,查看结果数,此时也可以通过RabbitMQ控制台看到消息发送和接受的情况。
  1. 使用RabbitMQ-perf.jar进行压测
  • 01 首先上官网进行工具介绍及下载

RabbitMQ 性能测试https://perftest.rabbitmq.com/

  • 02 使用简单的命令进行压测
#使用命令查看基本用法
java -jar perf-t帮est.jar --help
#优雅退出
java -jar perf-test.jar --shutdown-timeout 20
#连接RabbitMQ,注意特殊符号需要URLencode转移
java -jar perf-test.jar --uri "amqp://用户名:密码@ip:端口"
#使用多队列
java -jar perf-test.jar --queue-pattern 'perf-test-%d' \ --queue-pattern-from 1 --queue-pattern-to 10 \ --producers 100 --consumers 100
#创建高负载
java -jar perf-test.jar --queue-pattern 'perf-test-%d' \ --queue-pattern-from 1 --queue-pattern-to 500 \ --producers 500 --consumers 1500
  • 03 与prometheus集成
#metrics采集相关帮助
java -jar perf-test.jar --metrics-help
#集成prometheus,集成端口8090,可以修改
java -jar perf-test.jar --metrics-prometheus \ --metrics-prometheus-port 8090 --metrics-prometheus-endpoint perf-test-metrics

Prometheus 希望抓取或轮询单个应用实例的指标,因此 PerfTest 会启动 侦听端口 8080 并在端点上公开指标的 Web 服务器。这些默认值 可以更改:/metrics文章来源地址https://www.toymoban.com/news/detail-848272.html

下面是 PerfTest 可以收集的指标:
  • 默认指标:已发布、返回、已确认、已确认和已使用的消息数、消息数 延迟,发布者确认延迟。消息延迟是许多类型的工作负载中的主要问题,可以在此处轻松监控。发布者确认延迟反映了消息可被视为不安全的时间。是的 一旦使用 / 选项,就计算。 只要 PerfTest 支持监视系统,默认指标就可用 已启用。--confirm-c
  • 客户端指标:这些是 Java 客户端指标。 与默认的 PerfTest 指标相比,启用这些指标应该不会带来太多好处。 除了查看 PerfTest 在打开连接数方面的行为 例如,和渠道。客户端指标使用 or 标志启用。-mc--metrics-client
  • JVM 内存指标:这些指标报告 JVM 的内存使用情况,例如当前堆大小等。 它们有助于更好地了解客户端行为,例如堆内存波动 可能是由于频繁的垃圾回收可以解释高延迟数字。这些指标 使用 OR 标志启用。-mjm--metrics-jvm-memory
  • JVM 线程指标:这些指标报告 PerfTest 进程中使用的 JVM 线程数, 以及他们的状态。这对于优化 PerfTest 的使用以使用更少的资源模拟高负载非常有用。 这些指标是使用 or 标志启用的。-mjt--metrics-jvm-thread
  • JVM GC 指标:这些指标报告垃圾回收活动。它们可能因以下情况而异 在使用的 JVM、其版本和 GC 设置上。它们可用于关联 GC 具有 PerfTest 行为的活动,例如由于非常频繁而导致的异常低吞吐量 垃圾回收。这些指标是使用 or 标志启用的。-mjgc--metrics-jvm-gc
  • JVM 类装入器指标:已加载和未装入的类的数量。这些指标 使用 OR 标志启用。-mcl--metrics-class-loader
  • 处理器指标:指标报告 JVM 收集的 CPU 活动。 可以使用 or 标志启用它们。-mjp--metrics-processor
  • 04 导出HTML报告
追求完美的人去选择这个html报告吧,但是看起来的图片都是有点怪怪的。
         rabbitmq-perf-test/html/README.md 在 main ·rabbitmq/rabbitmq-perf-test ·GitHub上

到了这里,关于RabbitMQ压测简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jmeter-压力测试工具

    1s内发送大量请求,模拟高QPS,用以测试网站能承受的压力有多大 Jmeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK,并且配置了环境变量。 可以Apache Jmeter官网下载,地址:http://jmeter.apache.org/download_jmeter.cgi 或者直接用这个提供好的旧版本: 链接:https://pan.baidu.com

    2024年02月13日
    浏览(40)
  • 压力测试与测试工具jmeter的介绍

    目录 一、性能指标 二、jmeter (一)JMeter 安装 (二)JMeter 压测示例 1、添加线程组 2、添加 HTTP 请求  3、添加监听器 4、启动压测查看分析结果 (三)JMeter Address Already in use 错误解决   压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。压测

    2024年02月14日
    浏览(33)
  • 压力测试(QPS)及测试工具Locust

    通常指的是确定接口或服务能够处理的最大请求量(吞吐量)和并发用户数,同时保持合理的响应时间和稳定性。 最大吞吐量:系统每秒可以处理的请求数。 最大并发用户数:系统可以同时支持的用户数。 响应时间:系统响应请求的时间。 稳定性和可靠性:在高负载下系统

    2024年04月10日
    浏览(32)
  • iometer - 性能压力测试工具

            《存储工具系列文章》主要介绍存储相关的测试和调试工具,包括不限于dd、fio、vdbench、iozone、iometer、cosbench等性能负载工具,及strace等调试工具。         Iometer 是一个免费的开源的测试磁盘性能的工具。和其他磁盘工具相比,可以测试 I/O 的传输率和平均的

    2024年02月02日
    浏览(28)
  • 5款软件压力测试工具分享

    一、什么是软件压力测试? 软件压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行软件压力测试的资源

    2024年02月02日
    浏览(28)
  • JMeter - 接口压力测试工具简单使用

    【启动前配置】 启动JMeter前可以先配置语言和编码: 修改:E:JMeterapache-jmeter-5.5binjmeter.properties文件中: 1.language=en # 指定语言 language=zh_CN 2.sampleresult.default.encoding=ISO-8859-1 # 指定编码 UTF-8 sampleresult.default.encoding=UTF-8 也可以启动后设置语言:Options  -- Choose language  -- Chinese

    2024年02月12日
    浏览(33)
  • 压力测试工具Jmeter安装及使用

    Jmeter 依赖于 JDK ,所以必须确保当前计算机上已经安装了 JDK ,并且配置了环境变量。 1.1.下载 可以 Apache Jmeter 官网下载,地址:http://jmeter.apache.org/download_jmeter.cgi 1.2.解压 因为下载的是 zip 包,解压缩即可使用,目录结构如下: 其中的 bin 目录就是执行的脚本,其中包含启动

    2024年02月02日
    浏览(58)
  • Apache自带压力测试工具—ab

    ab全称为:apache bench 我们先来了解一下压力测试的概念: 吞吐率(Requests per second) 概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。 计算公式:

    2024年01月16日
    浏览(31)
  • 十个免费的 Web 压力测试工具

    2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客 文章浏览阅读1.3k次,点赞60次,收藏8次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口

    2024年02月22日
    浏览(28)
  • Jmeter对RabbitMQ压力测试

    环境准备 安装jmeter安装包 下载jmeter 链接:Apache JMeter - Download Apache JMeter 解压jmeter压缩包 apache-jmeter-5.5.zip JMeter环境变量配置 找到 此电脑右键-【属性】-【高级系统设置】-【环境变量】 新建系统变量 JMETER_HOME 变量名:JMETER_HOME 变量值:jmeter的安装路径。例如:D:下载的软件

    2024年02月13日
    浏览(16)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包