(十二)RabbitMQ消息队列-性能测试
硬件配置
宿主机用的联想3850X6的服务器四颗E7-4850v3的处理器,DDR4内存,两块1.25TB的pcie固态。在宿主机上使用的事esxi5.5的虚拟化平台,在子系统中安装RabbitMQ和测试脚本,RabbitMQ配置如下:
CPU:24核
内存:24GB
硬盘:24GB固态
确定哪些参数可能影响性能:进程数、是否持久化、是否ack确认以及交换机模式。其实交换机模式更多应该影响发布消息的性能,因为在消费消息时消息已经在队列所以影响不大。为了避免之前的一些配置影响测试我新建了一台RabbitMQ服务。
模式对性能的影响
首先我们看下不同交换机模式对新建交换机、新建队列、绑定、发布消息等性能的影响。在测试脚本中我是for循环建立10万交换机、循环建立10万队列、循环绑定10万、发送10万消息。有个疑问:消息发布的速度比我之前使用单独发布消息的速度快很多,单机模式之前从来没有超过5万过。
以上测试数据都是持久化的情况下的测试结果,可以看出不同的模式对于新建交换机、新建队列、绑定等操作性能影响不大,但是在direct模式下明显消息发布的性能比其他模式强很多,并且消息发送到相同队列比发送到不同队列性能稍好。
持久化对消息性能的影响
实际生产中大部分的操作一般是消息的订阅和发布,下面对消息订阅和发布的性能进行详细测试。发布100万消息。
在消息持久化模式下:
发布:13888msg/s
订阅:15384msg/s
在消息非持久化模式下:
发布:18867msg/s
订阅:26315msg/s
RabbitMQ技术交流QQ群:327034977(添加时请备注RabbitMQ)
转载于:https://www.cnblogs.com/lonelyxmas/p/10370250.html
(十二)RabbitMQ消息队列-性能测试相关推荐
- Redis(十二) - Redis消息队列
文章目录 一.Redis消息队列 1. 消息队列 2. 基于List结构模拟消息队列 3. 基于PubSub的消息队列 4. 基于Stream的消息队列 - 单消费模式 4. 基于Stream的消息队 ...
- RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列
上一篇已经讲了Rabbitmq如何在Windows平台安装,不懂请移步:RabbitMQ学习系列一:windows下安装RabbitMQ服务 一.理论: .net环境下,C#代码调用RabbitMQ消 ...
- 大数据互联网架构阶段 QuartZ定时任务+RabbitMQ消息队列
QuartZ定时任务+RabbitMQ消息队列 一 .QuartZ定时任务解决订单系统遗留问题 情景分析: 在电商项目中 , 订单生成后 , 数据库商品数量-1 , 但是用户迟迟不进行支付操作 , 这 ...
- RocketMQ(十二)消息堆积与消费延迟
RocketMQ(十二)消息堆积与消费延迟 产生背景 消息处理流程中,如果Consumer的消费速度跟不上Producer的发送速度,MQ中未处理的消息会越来越多,这部分消息就被称为 堆积消息.消息出 ...
- 消息队列——RabbitMQ消息队列集群
RabbitMQ消息队列集群 消息队列/中间件 RabbitMQ详解 RabbitMQ单机部署 RabbitMQ集群部署 消息队列/中间件 一.前言 在我们秒杀抢购商品的时候,系统会提醒我们稍等排队中 ...
- php中rabbitmq消息乱码,PHP实现RabbitMQ消息队列(转)
本篇文章给大家带来的内容是关于PHP和RabbitMQ实现消息队列的完整代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 先安装PHP对应的RabbitMQ,这里用的是 php_a ...
- 消息中间件(二)消息队列常见的几种使用场景介绍
一.消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间件. 目前在生产环境,使 ...
- RabbitMQ消息队列常见面试题总结
1.什么是消息队列: 1.1.消息队列的优点: (1)解耦:将系统按照不同的业务功能拆分出来,消息生产者只管把消息发布到 MQ 中而不用管谁来取,消息消费者只管从 MQ 中取消息而不管是谁发布的.消息 ...
- RabbitMQ消息队列(一)《Java-2021面试谈资系列》
RabbitMQ RabbitMQ消息队列 一.中间件 1.什么是中间件 2.中间件技术及架构概述 3.消息中间件 1.消息中间件的分布式架构 2.消息中间件使用场景 3.常见的消息中间件 4.消息中 ...
- RabbitMQ消息队列(十三)-VirtualHost与权限管理
像mysql有数据库的概念并且可以指定用户对库和表等操作的权限.那RabbitMQ呢?RabbitMQ也有类似的权限管理.在RabbitMQ中可以虚拟消息服务器VirtualHost,每个Virtua ...
最新文章
- bootstrap -- css -- 表格
- echarts树图控件分析
- Java取模函数,再不刷题就晚了!
- from import python3_《Python语言程序设计》 —3.3.2 from import
- SQL关闭自增长列标识:SET IDENTITY_INSERT
- LA3989女士的选择
- fiddler不能抓取浏览器数据_抓包软件 Fiddler 了解一下?
- 第一次使用最新开发的在线编辑器讲课记录笔记
- srs10流程图_高效的SRS资源指示方法与流程
- Latex 加空格的方法
- 51单片机学习笔记(清翔版)(13)——LED点阵、74HC595
- 在 ML2 中配置 OVS vlan network - 每天5分钟玩转 OpenStack(136)
- FullCalendar 的学习笔记(一)
- host不能访问虚拟机内web service中踩到的坑--2017年5月3日
- python中idle_python中的idle是什么意思
- Opencv中,imag=cv2.cvtColor(imag,cv2.COLOR_BGR2GRAY) 报错:error:!_src.empty() in function ‘cv::cvtColor‘
- 手机html5翻页效果代码,jquery html5手机端翻书效果_手指滑动书本翻页效果代码
- IDEA+Java+SSM+Mysql+Bootstrap+Maven实现学校教务管理系统
- 转:SQL server中转换大小写快捷键
- 如何使用Inkscape软件绘制一个LOGO