RabbitMQTest 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
RabbitMQTest 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
RabbitMQTest 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
RabbitMQTest 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
RabbitMQTest 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 未知
开发语言 Google Go
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 布哦
适用人群 未知
收录时间 2020-11-10

软件简介

RabbitMQTest 用于 RabbitMQ 性能测试,可提供对单个队列写入,消费以及对多个队列进行同时读写操作的测试. 可配置连接数,通道数

GitHub: https://github.com/jc3wish/RabbitMQTest

编译

go build ./RabbitMQTest.go

配置参数

etc/config.ini

案例 1

随机生成100个队列及绑定交换机

配置信息

[declareQueue]
#单纯创建队列
Method=only_declare
Uri=amqp://guest:guest@127.0.0.1:35673/mytest

#QueueList参数存在的情况下 QueuePrefix,QueueDurable,QueueAutoDelete,QueueCount参数无效
#QueueList = name:durable,auto_delete
#QueueList=TestQueue1:true:false,TestQueue2:true:false

#自动生成的队列的前缀
QueuePrefix=TestQueue
QueueDurable=true
QueueAutoDelete=false

#生成多少个队列
QueueCount=100

#交换机配置信息
ExchangeName=amq.direct
ExchangeType=direct
ExchangeDurable=true
ExchangeAutoDelete=false

#routingkey默认为队列名,如果填写RoutingKey,则统一绑定这个routingkey
RoutingKey=

运行

./RabbitMQTest -c ./etc/config.ini -key declareQueue

++++++++++++++++++++++++++++++
+                            +
+        RabbitMQTest        +
+                            +      Version:RabbitMQTest-v1.0.1-release
++++++++++++++++++++++++++++++           By:jc3wish


2019/03/15 18:57:38 Test Start, Time: 1552647458450
2019/03/15 18:57:38 only_declare Declare Count: 100 endTime: 1552647458460  had use time(ms): 10

2019/03/15 18:57:38 Test Over: 1552647458460 Use Time(ms): 10
ConnectSuccess: 0
ConnectFail: 0
ChannelSuccess: 0
ChanneFail: 0
WriteSuccess: 0
WriteFail: 0
CosumeSuccess: 0
Write QPS: 0
Consume QPS: 0

案例 2

  • 往 vhost:mytest 下所有队列写入数据
  • 每个队列一个连接
  • 每个连接2个通道
  • 每个通道往一个队列中写入1000条数据。
  • 每条数据随机大小 1kb,2kb

配置信息

[allQueueWrite]
#同时对多个队列操作写操作
Method=all_write

#HttpUri和QueueList 两个参数,QueueList 优先
#QueueList 参数是VHOST:QUEUEU,VHOST2:QUEUEU2 格式,用逗号隔开
#HttpUri 是配置rabbitmq http接口连接,会自动拉取
HttpUri=http://127.0.0.1:15674/api/queues/mytest
#QueueList=TESTVHOST:testQueue,testVhost:testqueue2

#rabbitmq tcp连接ip+端口
AmqpUri=127.0.0.1:35673

#rabbitmq连接帐号
AmqpAdmin=guest

#rabbitmq连接密码
AmqpPwd=guest

#写入操时,则认为false
WriteTimeOut=20

#每个队列写入的连接数量
ConnectCount=1

#每个连接的通道数量
ChannelCount=2

#每个队列的每个通道写入总数
#假如总的有100个队列,ConnectCount = 1,ChannelCount = 2,ChanneWriteCount = 1000 ,则每个队列的写入量 = 1 * 2 * 10
ChanneWriteCount=10

#开启cofirm机制
WaitConfirm=1

#数据大小
DataSize=1024,2048

#持久化
DeliveryMode=1

#写入操作的时候 ,采用哪一个交换机,这里routingkey强制采用队列名作为routingkey,并且 交换机和routingkey,队列名的绑定关系 ,得事先绑好
#如果采用默认交换机,则不用填写
#ExchangeName=amq.direct

ContinueCount=100
ContinueCountSleepTime=2

运行

./RabbitMQTest -c ./etc/config.ini -key allQueueWrite

++++++++++++++++++++++++++++++
+                            +
+        RabbitMQTest        +
+                            +      Version:RabbitMQTest-v1.0.1-release
++++++++++++++++++++++++++++++           By:jc3wish


2019/03/15 19:03:16 Test Start, Time: 1552647796908
2019/03/15 19:03:16 allQueueWrite AllQueueOp start 1552647796959

2019/03/15 19:03:33 Test Over: 1552647813853 Use Time(ms): 16945
ConnectSuccess: 400
ConnectFail: 0
ChannelSuccess: 800
ChanneFail: 0
WriteSuccess: 8000
WriteFail: 0
CosumeSuccess: 0
Write QPS: 472.115668338743
Consume QPS: 0

备注

假如要同时运行多个 key 用逗号隔,例如:

./RabbitMQTest -c ./etc/config.ini -key singleSend,singleConsume
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (7)

加载中
m
2020/11/13 09:45
回复
举报
mark
2020/11/12 17:31
回复
举报
mark
2020/11/12 14:46
回复
举报
mark
2020/11/12 14:15
回复
举报
Mark
2020/11/12 11:41
回复
举报
Mark
2020/11/12 10:46
回复
举报
666
2020/11/12 09:37
回复
举报
更多评论
暂无内容
发表了博客
2018/04/02 09:07

rabbitMQ使用一——helloworld

参考链接 :https://blog.csdn.net/zhulongxi/article/details/72867545 https://www.cnblogs.com/ericli-ericli/p/5917018.html 1.新建RabbitMQTest解决方案,包含producer生产者和consumer消费者两个工程 2、添加RabbitMQ.Client引用 在项目的引用上右键选择管理nuget程序包,搜索RabbitMQ.Client.dll,然后安装,因为最新的需要Framework4.5以上,所以如果是4.0的Framework的话需要修改成高版本的 3、producer工程下的代码 ...

0
0
发表于开发技能专区
2020/01/06 18:11

SpringBoot整合RabbitMQ

![SpringBoot系列教程](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNzEwODMzLThiZTE1MTNhY2RhYzA0NzMucG5n) SpringBoot框架已经提供了RabbitMQ的使用jar包,开发人员在使用RabbitMQ的时候只需要引用jar包简单的配置一下就可以使用RabbitMQ,这极大的简化了开发人员的开发成本,提升开发效率。 话不多说,直接上代码: 先在`pom.xml`文件添加依赖`spring-boot-starter-am...

0
0
2018/05/28 22:02

Mac下RabbitMq安装与测试教程

# RabbitMq基础教程之安装与测试 > [Installing on Mac](http://www.rabbitmq.com/install-standalone-mac.html) ## I. 安装 ```sh brew install rabbitmq ## 进入安装目录 cd /usr/local/Cellar/rabbitmq/3.7.5 # 启动 brew services start rabbitmq # 当前窗口启动 rabbitmq-server ``` 启动控制台之前需要先开启插件 ```sh ./rabbitmq-plugins enable rabbitmq_management ``` 进入控制台: http://localhost:15672/ 用户名和...

0
1
发表于开发技能专区
2018/04/27 17:16

RabbitMQ消息队列+SpringBoot延迟队列实现

**LINUX下安装MQ:** 参考: [ https://blog.csdn.net/tony308001970/article/details/53034320](http://) **常用操作:** $ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务 $ sudo /sbin/service rabbitmq-server start # 启动服务 $ sudo /sbin/service rabbitmq-server status # 查看服务状态 $ sudo /sbin/service rabbitmq-server stop # 停止服务 查看当前所有用户 $ sudo rabbitmqctl list_users 查看默认...

0
0
发表于开发技能专区
2020/05/24 14:56

Spring Boot整合RabbitMQ

# Spring Boot整合RabbitMQ [TOC] ## 写在开头 最近在搭一套基于SpringBoot的项目,用到了ssm+mysql+rabbitmq+redis。除了rabbitmq之外,其他几个都很快整合好了,唯独rabbitmq找了不少资料,才最终整合好,达到了预期。特此将过程记录下来,供参考。 ## 整合流程 整合流程中的代码都为整合的关键配置及其使用。至于SpringBoot的基本配置,请参考[Spring Boot Quick Start][6]。 ### 配置文件 - pom.xml ``` xml org.springfram...

0
0
发表了博客
2020/11/22 11:20

(二) RabbitMQ快速入门, 一篇文章教会你使用RabbitMQ并理解消息发布模型(SpringBoot版)

RabbitMQ的使用与理解 前言 一. 创建用户与虚拟主机 二. SpringBoot集成RabbitMQ 1. 引入依赖 2. 编写配置文件(yml格式) 3. 模板对象 三. 消息发布模型 1. 直连(点对点) 2. work 工作模型 3. 发布订阅(fanout广播) 4. Routing 路由模型-direct 5.Topic 动态路由模型-topic 总结 前言 RabbitMQ安装完之后呢,该学习怎么使用了。 RabbitMQ基于生产者于消费者模型,实现了系统间的解耦 生产者需要与rabbitmq server建立连接,每一个...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
7 评论
44 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部