(十二)RabbitMQ消息队列-性能测试
原文:(十二)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)

posted on 2019-02-13 15:55 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/10370250.html

(十二)RabbitMQ消息队列-性能测试相关推荐

  1. Redis(十二) - Redis消息队列

    文章目录 一.Redis消息队列 1. 消息队列 2. 基于List结构模拟消息队列 3. 基于PubSub的消息队列 4. 基于Stream的消息队列 - 单消费模式 4. 基于Stream的消息队 ...

  2. RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列

    上一篇已经讲了Rabbitmq如何在Windows平台安装,不懂请移步:RabbitMQ学习系列一:windows下安装RabbitMQ服务 一.理论: .net环境下,C#代码调用RabbitMQ消 ...

  3. 大数据互联网架构阶段 QuartZ定时任务+RabbitMQ消息队列

    QuartZ定时任务+RabbitMQ消息队列 一 .QuartZ定时任务解决订单系统遗留问题 情景分析: 在电商项目中 , 订单生成后 , 数据库商品数量-1 , 但是用户迟迟不进行支付操作 , 这 ...

  4. RocketMQ(十二)消息堆积与消费延迟

    RocketMQ(十二)消息堆积与消费延迟 产生背景 消息处理流程中,如果Consumer的消费速度跟不上Producer的发送速度,MQ中未处理的消息会越来越多,这部分消息就被称为 堆积消息.消息出 ...

  5. 消息队列——RabbitMQ消息队列集群

    RabbitMQ消息队列集群 消息队列/中间件 RabbitMQ详解 RabbitMQ单机部署 RabbitMQ集群部署 消息队列/中间件 一.前言 在我们秒杀抢购商品的时候,系统会提醒我们稍等排队中 ...

  6. php中rabbitmq消息乱码,PHP实现RabbitMQ消息队列(转)

    本篇文章给大家带来的内容是关于PHP和RabbitMQ实现消息队列的完整代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 先安装PHP对应的RabbitMQ,这里用的是 php_a ...

  7. 消息中间件(二)消息队列常见的几种使用场景介绍

    一.消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间件. 目前在生产环境,使 ...

  8. RabbitMQ消息队列常见面试题总结

    1.什么是消息队列: 1.1.消息队列的优点: (1)解耦:将系统按照不同的业务功能拆分出来,消息生产者只管把消息发布到 MQ 中而不用管谁来取,消息消费者只管从 MQ 中取消息而不管是谁发布的.消息 ...

  9. RabbitMQ消息队列(一)《Java-2021面试谈资系列》

    RabbitMQ RabbitMQ消息队列 一.中间件 1.什么是中间件 2.中间件技术及架构概述 3.消息中间件 1.消息中间件的分布式架构 2.消息中间件使用场景 3.常见的消息中间件 4.消息中 ...

  10. RabbitMQ消息队列(十三)-VirtualHost与权限管理

    像mysql有数据库的概念并且可以指定用户对库和表等操作的权限.那RabbitMQ呢?RabbitMQ也有类似的权限管理.在RabbitMQ中可以虚拟消息服务器VirtualHost,每个Virtua ...

最新文章

  1. bootstrap -- css -- 表格
  2. echarts树图控件分析
  3. Java取模函数,再不刷题就晚了!
  4. from import python3_《Python语言程序设计》 —3.3.2 from import
  5. SQL关闭自增长列标识:SET IDENTITY_INSERT
  6. LA3989女士的选择
  7. fiddler不能抓取浏览器数据_抓包软件 Fiddler 了解一下?
  8. 第一次使用最新开发的在线编辑器讲课记录笔记
  9. srs10流程图_高效的SRS资源指示方法与流程
  10. Latex 加空格的方法
  11. 51单片机学习笔记(清翔版)(13)——LED点阵、74HC595
  12. 在 ML2 中配置 OVS vlan network - 每天5分钟玩转 OpenStack(136)
  13. FullCalendar 的学习笔记(一)
  14. host不能访问虚拟机内web service中踩到的坑--2017年5月3日
  15. python中idle_python中的idle是什么意思
  16. Opencv中,imag=cv2.cvtColor(imag,cv2.COLOR_BGR2GRAY) 报错:error:!_src.empty() in function ‘cv::cvtColor‘
  17. 手机html5翻页效果代码,jquery html5手机端翻书效果_手指滑动书本翻页效果代码
  18. IDEA+Java+SSM+Mysql+Bootstrap+Maven实现学校教务管理系统
  19. 转:SQL server中转换大小写快捷键
  20. 如何使用Inkscape软件绘制一个LOGO

热门文章

  1. Windows集群网络负载均衡
  2. android selector 开始自定义样式
  3. Submitting Applications
  4. vim 复制到剪切板
  5. react-native ios push 本地view
  6. 互联网转型需要微服务架构
  7. 蚂蚁金服OceanBase“击败”甲骨文?呵呵!
  8. Red Hat 发布新 logo:“没有脸了”
  9. 如何清理 Linux 系统开机启动项?
  10. 给职场人士的四点良心建议