Oslo.messaging Simulator

This section describes how to perform Message Queue Performance with Oslo.messaging Simulator tool.

Test environment preparation

To perform the test plan you will need to install oslo.messaging simulator.

The simulator tool depends on SciPy library which requires some mathematical packages to be installed into system.

To install on CentOS 7:

# yum install lapack-devel

To install on Ubuntu 14.04:

# apt-get install liblapack-dev gfortran

The simulator is distributed as part of library sources. It is recommended to be installed within virtual environment.

$ git clone https://git.openstack.org/openstack/oslo.messaging
$ cd oslo.messaging/
$ virtualenv .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt
$ python setup.py install
$ pip install scipy
$ cd tools/

Test Case 1: RPC Call Throughput Test

Test case specification: Test Case 1: RPC Call Throughput Test

Execution:

Start the server:

$ python simulator.py --url rabbit://<username>:<password>@<host>:<port>/ rpc-server

example: python simulator.py --url rabbit://nova:DUoqsyrq@192.168.0.4:5673/ --debug true rpc-server

Start the client:

$ python simulator.py --url rabbit://<username>:<password>@<host>:<port>/ rpc-client -p <threads> -m <messages>

example: python simulator.py --url rabbit://nova:DUoqsyrq@192.168.0.4:5673/ rpc-client -p 10 -m 100

Test Case 2: RPC Cast Throughput Test

Test case specification: Test Case 2: RPC Cast Throughput Test

Execution:

Start the server:

$ python simulator.py --url rabbit://<username>:<password>@<host>:<port>/ rpc-server

example: python simulator.py --url rabbit://nova:DUoqsyrq@192.168.0.4:5673/ --debug true rpc-server

Start the client:

$ python simulator.py --url rabbit://<username>:<password>@<host>:<port>/ rpc-client --is-cast true -p <threads> -m <messages>

example: python simulator.py --url rabbit://nova:DUoqsyrq@192.168.0.4:5673/ rpc-client --is-cast true -p 10 -m 100

Test Case 3: Notification Throughput Test

Note

Version at least 2.9 is required to run this test case.

Test case specification: Test Case 3: Notification Throughput Test

Execution:

Start the server:

$ python simulator.py --url rabbit://<username>:<password>@<host>:<port>/ notify-server

examples:: python simulator.py --url rabbit://nova:DUoqsyrq@192.168.0.4:5673/ notify-server

Start the client:

$ python simulator.py --url rabbit://<username>:<password>@<host>:<port>/ notify-client -p <threads> -m <messages>

example: python simulator.py --url rabbit://nova:DUoqsyrq@192.168.0.4:5673/ notify-client -p 10 -m 100