6.15.1.2.4. RabbitMQ performance (Client -> Slave-1, Server -> Slave-2), HA queues enabled

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_ha.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.4.1. Test Case 1: RPC CALL Throughput Test

6.15.1.2.4.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_count2.svg
RPC CALL Message count

threads

sent, msg

received, msg

round-trip, msg

lost, msg

50

286874

286874

286874

0

100

335274

335274

335274

0

250

227804

227830

227804

0

350

238445

238445

238445

0

500

168374

167229

168374

0

6.15.1.2.4.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_count2.svg
RPC CALL throughput, latency and RabbitMQ CPU utilization depending on thread count

threads

throughput, msg/sec

latency, ms

RabbitMQ CPU, %

50

2814.8

15.1

1229.4

100

3275.9

29.3

1546.0

250

2253.5

87.7

1981.4

350

2358.5

146.7

1901.1

500

1650.2

238.2

2260.0

6.15.1.2.4.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_test2.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

210.9

659.8

358.8

57.5

170.0

90.0

100

201.4

944.7

399.9

50.9

243.7

95.8

250

182.7

1229.5

569.2

45.2

333.2

142.5

350

172.0

1297.6

431.6

44.0

367.9

107.5

500

157.0

1369.8

733.1

39.6

391.3

195.2

6.15.1.2.4.2. Test Case 2: RPC CAST Throughput Test

6.15.1.2.4.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_count2.svg
RPC CAST Message count

threads

sent, msg

received, msg

lost, msg

50

481721

481721

0

100

566495

566495

0

250

557957

557957

0

350

420309

420296

13

500

497506

497506

0

6.15.1.2.4.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_count2.svg
RPC CAST throughput, latency and RabbitMQ CPU utilization depending on thread count

threads

throughput, msg/sec

latency, ms

RabbitMQ CPU consumption, %

50

4760.2

5.5

896.5

100

5602.8

12.3

1124.2

250

5520.7

12.8

1443.0

350

4157.7

7.5

1448.2

500

4922.2

11.8

1450.0

6.15.1.2.4.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_test2.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

177.5

549.1

169.9

53.8

137.0

44.9

100

177.8

727.4

218.9

50.3

187.1

56.1

250

171.7

1061.9

209.3

46.8

292.8

55.7

350

163.9

1074.6

209.6

43.9

302.0

57.1

500

148.8

1050.9

250.3

39.8

297.5

67.8

6.15.1.2.4.3. Test Case 3: Notification Throughput Test

6.15.1.2.4.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_count2.svg
NOTIFY Message count

threads

sent, msg

received, msg

lost, msg

50

488810

488810

0

100

481277

481277

0

250

541306

541306

0

350

537552

537552

0

500

483554

483554

0

6.15.1.2.4.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_count2.svg
NOTIFY throughput, latency and RabbitMQ CPU utilization depending on thread count

threads

throughput, msg/sec

latency, ms

RabbitMQ CPU consumption, %

50

4830.8

9.7

931.2

100

4761.0

20.4

804.5

250

5356.1

39.0

1249.1

350

5319.3

51.8

1298.8

500

4785.1

38.1

1420.2

6.15.1.2.4.3.3. Detailed RabbitMQ CPU consumption

Thus chart shows statistics on RabbitMQ CPU consumption per nodes.

../../../../_images/rabbitmq_nodes_cpu_consumption_during_notify_load_test2.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

155.6

542.5

233.1

44.1

138.1

61.5

100

154.8

441.1

208.6

43.1

111.6

53.0

250

152.4

848.6

248.1

40.7

226.1

61.3

350

150.5

902.3

246.0

40.4

240.5

62.5

500

156.4

1020.9

242.9

41.9

287.9

61.0