Change-Id: I68acbcd3f656faa57540d2d7d4b8e1f2ffb8cfae Closes-Bug: #1609927
8.0 KiB
Message Queue High Availability
- status
-
ready
- version
-
1.0
- Abstract
This document describes a test plan for analysing high availability of OpenStack message bus. The measurement covers message queue and oslo.messaging library.
Test Plan
Test Environment
RabbitMQ is installed on 3 nodes in HA mode. Active monitoring is implemented with help of pacemaker. The test tool is executed on another host.
Preparation
Setup RabbitMQ cluster, for example by using the setup made by OpenStack Fuel.
Environment description
The environment description includes hardware specification of servers, network parameters, operation system and OpenStack deployment characteristics.
Hardware
This section contains list of all types of hardware nodes.
Parameter | Value | Comments |
model | e.g. Supermicro X9SRD-F | |
CPU | e.g. 6 x Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz |
Network
This section contains list of interfaces and network parameters. For complicated cases this section may include topology diagram and switch parameters.
Parameter | Value | Comments |
card model | e.g. Intel | |
driver | e.g. ixgbe | |
speed | e.g. 10G or 1G |
Software
This section describes installed software.
Parameter | Value | Comments |
OS | e.g. Ubuntu 14.04.3 | |
oslo.messaging | e.g. 4.0.0 | |
MQ Server | e.g. RabbitMQ 3.5.6 | |
HA mode | e.g. Cluster |
Test Case 1: Client and Server connected to Master, Master fails
Description
In this test case both client and server are connected to RabbitMQ master node. The throughput is measured and at the same time RabbitMQ master process is terminated.
List of performance metrics
Test case result is time series showing message flow between client and server. It can be shown as chart and/or table. The average throughput and number of errors are calculated.
Priority | Value | Measurement Units | Description |
---|---|---|---|
1 | Throughput | msg/sec | Number of messages per second |
2 | Latency | ms | The latency in message processing |
Options
- The test case is executed for different types of communication:
Test Case 2: Client and Server connected to Slave 1, Slave 1 fails
Description
In this test case both client and server are connected to the same RabbitMQ slave node. The throughput is measured and at the same time RabbitMQ slave process is terminated.
List of performance metrics
Test case result is time series showing message flow between client and server. It can be shown as chart and/or table. The average throughput and number of errors are calculated.
Priority | Value | Measurement Units | Description |
---|---|---|---|
1 | Throughput | msg/sec | Number of messages per second |
2 | Latency | ms | The latency in message processing |
Options
- The test case is executed for different types of communication:
Test Case 3: Client and Server on different slaves. Client Slave fails
Description
In this test case client and server are connected to different RabbitMQ slave node. The throughput is measured and at the same time RabbitMQ slave process is terminated.
List of performance metrics
Test case result is time series showing message flow between client and server. It can be shown as chart and/or table. The average throughput and number of errors are calculated.
Priority | Value | Measurement Units | Description |
---|---|---|---|
1 | Throughput | msg/sec | Number of messages per second |
2 | Latency | ms | The latency in message processing |
Options
- The test case is executed for different types of communication:
Test Case 4: Client on Master and Server on Slave, Master fails
Description
In this test case client and server are connected to different RabbitMQ slave node: the client to master and server to slave. The throughput is measured and at the same time RabbitMQ slave process is terminated.
List of performance metrics
Test case result is time series showing message flow between client and server. It can be shown as chart and/or table. The average throughput and number of errors are calculated.
Priority | Value | Measurement Units | Description |
---|---|---|---|
1 | Throughput | msg/sec | Number of messages per second |
2 | Latency | ms | The latency in message processing |
Options
- The test case is executed for different types of communication:
Tools
This section contains tools that can be used to perform the test plan.
Reports
- Test plan execution reports:
-
mq_ha_rabbit_report_disabled
mq_ha_rabbit_report_enabled