zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    linux学习方法之一
    HDU 1556 Color the ball
    Object-c学习之路十(NSNumber&NSValue)
    蜂鸣器驱动方式源程序--有源无源通用
    Wordpress更换主题之后出错
    mybatis_Generator配置
    Logistic Regression
    求两个字符串的最大公共字串
    数据结构排序系列详解之二 希尔排序
    《mysql必知必会》学习_第五章
  • 原文地址:https://www.cnblogs.com/wyt007/p/9086226.html
Copyright © 2011-2022 走看看