6.15.1.2.2. RabbitMQ performance (Client -> Slave-1, Server -> Slave-2)

This report contains results of Message Queue Performance execution with Oslo.messaging Simulator. Simulator client and simulator server are connected to different slave nodes. RabbitMQ HA queues are enabled.

../../../../_images/topology_cs1ss2.svg

Simulator is configured with eventlet executor running in 10 threads. The overall number of threads is calculated as multiplication of eventlet threads, number of processes and number of used nodes.

6.15.1.2.2.1. Test Case 1: RPC CALL Throughput Test

6.15.1.2.2.1.1. Message processing

Messages are collected at 3 points: sent - messages sent by the client, received - messages received by the server, round-trip - replies received by the client. Also the number of lost messages is calculated. Sizes of messages is based on the distribution of messages collected on the 100-node cloud.

../../../../_images/rpc_call_message_count3.svg
RPC CALL Message count

threads

sent, msg

received, msg

round-trip, msg

lost, msg

50

303108

303108

303108

0

100

530183

530183

530183

0

250

590627

590627

590627

0

350

612468

612468

612468

0

500

687218

687218

687218

0

6.15.1.2.2.1.2. The throughput, latency and RabbitMQ CPU utilization

The chart shows the throughput, latency and CPU utilization by RabbitMQ server depending on number of concurrent threads.

../../../../_images/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count3.svg
RPC CALL throughput, latency and RabbitMQ CPU utilization depending on thread count

threads

throughput, msg/sec

latency, ms

RabbitMQ CPU, %

50

2992.2

13.6

477.6

100

5219.0

16.2

1432.7

250

5838.8

41.9

1969.2

350

6057.5

56.9

2037.3

500

6798.0

72.6

2216.4

6.15.1.2.2.1.3. Detailed RabbitMQ CPU consumption

Thus chart shows statistics on RabbitMQ CPU consumption per nodes.

../../../../_images/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test3.svg
RabbitMQ nodes CPU consumption during RPC CALL load test

threads

Master total, %

Slave 1 total, %

Slave 2 total, %

Master sys, %

Slave 1 sys, %

Slave 2 sys, %

50

59.1

262.2

156.3

16.7

75.1

47.2

100

76.6

1050.6

305.5

20.8

288.4

83.2

250

78.0

1422.6

468.7

21.2

417.0

122.8

350

78.0

1462.2

497.1

20.7

424.5

127.9

500

80.5

1509.7

626.1

21.4

429.2

161.9

6.15.1.2.2.2. Test Case 2: RPC CAST Throughput Test

6.15.1.2.2.2.1. Message processing

Messages are collected at 2 points: sent - messages sent by the client and received - messages received by the server. Also the number of lost messages is calculated. Sizes of messages is based on the distribution of messages collected on the 100-node cloud.

../../../../_images/rpc_cast_message_count3.svg
RPC CAST Message count

threads

sent, msg

received, msg

lost, msg

50

740756

740756

0

100

981647

981647

0

250

1265226

1265226

0

350

1362716

1362716

0

500

1487540

1487540

0

6.15.1.2.2.2.2. The throughput, latency and RabbitMQ CPU utilization

The chart shows the throughput, latency and CPU utilization by RabbitMQ server depending on number of concurrent threads.

../../../../_images/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count3.svg
RPC CAST throughput, latency and RabbitMQ CPU utilization depending on thread count

threads

throughput, msg/sec

latency, ms

RabbitMQ CPU consumption, %

50

7293.3

65.0

778.3

100

9691.4

8.3

1530.6

250

12510.6

16.0

1728.8

350

13478.8

21.3

1835.4

500

14713.0

23.8

1712.8

6.15.1.2.2.2.3. Detailed RabbitMQ CPU consumption

Thus chart shows statistics on RabbitMQ CPU consumption per nodes.

../../../../_images/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test3.svg
RabbitMQ nodes CPU consumption during RPC CAST load test

threads

Master total, %

Slave 1 total, %

Slave 2 total, %

Master sys, %

Slave 1 sys, %

Slave 2 sys, %

50

110.3

552.9

115.0

31.9

145.8

36.5

100

101.4

1268.7

160.4

25.6

367.8

50.1

250

114.7

1377.1

237.0

29.1

431.5

69.6

350

119.3

1438.2

277.9

32.3

447.6

80.9

500

143.1

1286.0

283.7

39.5

397.7

82.5

6.15.1.2.2.3. Test Case 3: Notification Throughput Test

6.15.1.2.2.3.1. Message processing

Messages are collected at 2 points: sent - messages sent by the client and received - messages received by the server. Also the number of lost messages is calculated. Sizes of messages is based on the distribution of messages collected on the 100-node cloud.

../../../../_images/notify_message_count3.svg
NOTIFY Message count

threads

sent, msg

received, msg

lost, msg

50

704253

704253

0

100

965920

965920

0

250

1228602

1228602

0

350

1366766

1366766

0

500

1453842

1453842

0

6.15.1.2.2.3.2. The throughput, latency and RabbitMQ CPU utilization

The chart shows the throughput, latency and CPU utilization by RabbitMQ server depending on number of concurrent threads.

../../../../_images/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count3.svg
NOTIFY throughput, latency and RabbitMQ CPU utilization depending on thread count

threads

throughput, msg/sec

latency, ms

RabbitMQ CPU consumption, %

50

6932.9

5.0

750.1

100

9532.6

8.1

1548.2

250

12147.7

15.7

1773.8

350

13517.9

19.8

1768.2

500

14378.9

21.7

1799.2

6.15.1.2.2.3.3. Detailed RabbitMQ CPU consumption

Thus chart shows statistics on RabbitMQ CPU consumption per nodes.

../../../../_images/rabbitmq_nodes_cpu_consumption_during_notify_load_test3.svg
RabbitMQ nodes CPU consumption during NOTIFY load test

threads

Master total, %

Slave 1 total, %

Slave 2 total, %

Master sys, %

Slave 1 sys, %

Slave 2 sys, %

50

99.7

545.0

105.5

27.8

144.0

33.9

100

102.9

1268.6

176.7

29.1

366.7

55.0

250

109.0

1401.5

263.2

30.4

439.0

79.0

350

124.2

1334.0

309.9

34.3

416.0

89.1

500

136.7

1330.6

332.0

37.6

411.1

93.3