用Jmeter测试RabbitMQ
来源:互联网 发布:软件测试整体策略 编辑:程序博客网 时间:2024/05/18 16:35
1.下载AMQP插件
github上面有源码,可以通过ant+ivy在本地进行打包(下载IDEA实践成功)
https://github.com/jlavallee/JMeter-Rabbit-AMQP(github 上面支持中文有问题)
已经解决好乱码的插件:插件下载
2.将下载的插件放到Jmeter--lib/ext目录,然后启动程序,可以看到"AMQP Publisher" 和 "AMQP Consumer" 2个选项
3.AMQP Publisher/Consumer 请求 介绍
Exchange(交换机):如果此处不填写,使用默认名称--(AMQP default)
Exchange Type:分别是direct(单播),fanout(广播),topic(组播),headers,每种类型路由的策略不同,公司用direct 和 fanout 这2种路由居多
direct:如果一个队列绑定到该交换机上,并且当前要求路由键为 X ,只有路由键是 X 的消息才会被这个队列转发。默认交换机便是该类型。
fanout:一个发送到交换机上的消息都会被转发到与该交换机绑定的所有队列上。 Fanout 交换机发消息是最快的。
topic:将路由键和某模式进行匹配,可以理解成模糊处理(不是特别明白)
Durable(持久化):具有这个标志的队列和交换机会在重启之后重新建立,它不表示说在队列当中的消息会在重启后恢复
Redeclare(重定义):此功能不是特别清楚
Message TTL(Time-To-Live Extensions):消息过期时间,时间为毫秒
Exclusive(排他性队列):创建一个只有自己可见的队列,即不允许其它用户访问,在没有消费者来消费的时候,他就会自动的删除
Expire(超期时间):该值必须为正数(与消息 TTL 不同,该值不可以为 0),所以如果该参数设置为 1000 ,则表示该 queue 如果在 1 秒钟之内未被使用则会被删除。
Auto delete:当没有队列或者其他exchange绑定到此exchange的时候,该exchange被销毁
Prefect Count:消费者自身处理能力有限,从rabbitmq获取一定数量的消息后,希望rabbitmq不再将队列中的消息推送过来,当对消息处理完后(即对消息进行了ack,并且有能力处理更多的消息)再接收来自队列的消息。在这种场景下,我们可以通过设置basic.qos信令中的prefetch_count来达到这种效果(一般不用设置)
通过Jmeter实现请求:
参考用例:https://github.com/jlavallee/JMeter-Rabbit-AMQP/blob/master/examples/RPC_Load_Test.jmx
备注:如果Reply-to Queue为空,则"AMQP Consumer--Queue"为空,不能得到返回数据
参考文献:
http://www.tuicool.com/articles/6BRzMji
http://www.bbsmax.com/A/lamd0MWzge/
- 用Jmeter测试RabbitMQ
- 用JMETER测试
- 用Jmeter做接口测试
- 用Jmeter进行压力测试
- 用Jmeter进行压力测试
- rabbitmq的测试用例
- jmeter测试
- Jmeter测试
- rabbitmq测试
- Jmeter 快速入门教程(六) -- 用Jmeter测试你的EJB
- 用jmeter进行多用户并发压力测试
- 用jmeter测试web应用程序的性能
- Jmeter 用动态参数进行测试
- 如何巧用jmeter进行接口测试
- 用jmeter做mysql压力测试
- 用 Apache JMeter 测试 WebSphere 性能
- 用Jmeter 测试接口--需要登录怎么办?
- 用BlazeMeter录制JMeter测试脚本
- DB2权限管理
- maven详细入门
- AVPlayer 本地、网络视频播放相关
- js提取导航栏高亮状态实例
- python中not,and,or的优先级问题及用法
- 用Jmeter测试RabbitMQ
- java中System.getProperty()的作用及使用
- html footer 固定
- Retrofit源码分析
- 网页前端常见的攻击方式和预防攻击的方法
- Ajax学习笔记
- ACM日记_17.3.14——高精度算法
- JS JAVA 判断是否微信浏览器
- VirtualBox虚拟硬盘文件管理