rabbitmq 调优

(一)ACK机制 生产者<->队列   和  队列<->消费者

测试环境

 硬件:

三台开发测试机(一生产者,一消费者,一MQ服务器):  Intel(R) Xeon(R) CPU    E5620  @ 2.40GHz 16核),24G RAM 普通磁盘。

软件:

Erlang虚拟机: R16B

RabbitMQ:2.8.2

网络

Ping0.220ms

Netperf: 941.43 (10^6bits/sec)

 

测试结果

测试#

Ack1

Ack2

Qos

(prefetchcout = 200)

Vhost数

包大小

QPS

1

X

X

X

1

100bytes

33733

2

X

X

X

1

1Kb

32334

3

X

X

X

2

1Kb

54295

4

X

X

X

3

1Kb

68636

5

X

X

X

3

100bytes

74339

6

O

X

X

1

100bytes

14526

7

X

O

X

1

100bytes

14216

8

X

X

O

1

100bytes

30241

9

O

O

X

1

100bytes

11755

10

X

O

O

1

100bytes

11548

11

O

O

O

1

100bytes

9149

12

O

O

O

2

100bytes

17288

13

O

O

O

3

100byte

21748

说明:O 表示启用  X表示不启用 ,Ack1表示生产者与MQ之间的确认机制,Ack2为消费者与MQ间的确认机制。所有测试都开启了消息持久化。

分析

1. 从测试#1 -#3 以及 #11-#13的对比可以看出增加vhost的数量可以显著的提高rabbimq服务器的性能。

2. 从测试#1#6的对比可以看出,开启Ack1会明显降低QPS,约降低了60%

3. 从测试#1 #7的对比可以看出,开启Ack2也会明显降低QPS

从测试#1 #8 的对比可以看出,开启Qos会降低QPS

你可能感兴趣的:(rabbitmq 调优)