RabbitMQ performance report
Change-Id: I5ca7e875ddb0655d36d06a592e51b02697f23f41
@ -9,4 +9,5 @@ Test Results
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
|
mq/rabbitmq/index
|
||||||
mq_ha/index
|
mq_ha/index
|
||||||
|
494
doc/source/test_results/mq/rabbitmq/cmsm-ha/index.rst
Normal file
@ -0,0 +1,494 @@
|
|||||||
|
RabbitMQ performance (Client and Server connected to Master), HA queues enabled
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
This report contains results of :ref:`message_queue_performance` execution
|
||||||
|
with `Oslo.messaging Simulator`_. Both simulator client and simulator server
|
||||||
|
are connected to Master node. `RabbitMQ HA queues`_ are enabled.
|
||||||
|
|
||||||
|
.. image:: topology_cmsm_ha.*
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 1: RPC CALL Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_call_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CALL Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- sent, msg
|
||||||
|
- received, msg
|
||||||
|
- round-trip, msg
|
||||||
|
- lost, msg
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 244710
|
||||||
|
- 244710
|
||||||
|
- 244710
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 223377
|
||||||
|
- 223377
|
||||||
|
- 223377
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 201327
|
||||||
|
- 201327
|
||||||
|
- 201327
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 200093
|
||||||
|
- 200093
|
||||||
|
- 200093
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 169967
|
||||||
|
- 169967
|
||||||
|
- 169967
|
||||||
|
- 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CALL throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- throughput, msg/sec
|
||||||
|
- latency, ms
|
||||||
|
- RabbitMQ CPU, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 2393.8
|
||||||
|
- 18.7
|
||||||
|
- 1487.0
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 2207.5
|
||||||
|
- 44.2
|
||||||
|
- 1370.3
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 1987.4
|
||||||
|
- 124.1
|
||||||
|
- 1725.0
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 1967.3
|
||||||
|
- 174.9
|
||||||
|
- 1717.3
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 1665.8
|
||||||
|
- 294.2
|
||||||
|
- 1620.1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during RPC CALL load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- Master total, %
|
||||||
|
- Slave 1 total, %
|
||||||
|
- Slave 2 total, %
|
||||||
|
- Master sys, %
|
||||||
|
- Slave 1 sys, %
|
||||||
|
- Slave 2 sys, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 1255.5
|
||||||
|
- 122.1
|
||||||
|
- 109.4
|
||||||
|
- 353.2
|
||||||
|
- 33.0
|
||||||
|
- 29.2
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 1142.8
|
||||||
|
- 118.2
|
||||||
|
- 109.3
|
||||||
|
- 319.4
|
||||||
|
- 29.9
|
||||||
|
- 26.7
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 1475.9
|
||||||
|
- 127.6
|
||||||
|
- 121.5
|
||||||
|
- 416.9
|
||||||
|
- 32.6
|
||||||
|
- 29.5
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 1459.3
|
||||||
|
- 129.9
|
||||||
|
- 128.1
|
||||||
|
- 416.0
|
||||||
|
- 32.7
|
||||||
|
- 31.1
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 1358.8
|
||||||
|
- 128.5
|
||||||
|
- 132.7
|
||||||
|
- 396.1
|
||||||
|
- 32.1
|
||||||
|
- 31.1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 2: RPC CAST Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_cast_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CAST Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- sent, msg
|
||||||
|
- received, msg
|
||||||
|
- lost, msg
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 606121
|
||||||
|
- 606121
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 674586
|
||||||
|
- 674586
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 463741
|
||||||
|
- 463741
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 451210
|
||||||
|
- 451210
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 444167
|
||||||
|
- 444167
|
||||||
|
- 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CAST throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- throughput, msg/sec
|
||||||
|
- latency, ms
|
||||||
|
- RabbitMQ CPU consumption, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 5982.4
|
||||||
|
- 5.9
|
||||||
|
- 1308.1
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 6669.4
|
||||||
|
- 7.8
|
||||||
|
- 1716.1
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 4588.7
|
||||||
|
- 38.3
|
||||||
|
- 1654.5
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 4458.9
|
||||||
|
- 57.7
|
||||||
|
- 1499.3
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 4363.8
|
||||||
|
- 87.2
|
||||||
|
- 1568.4
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during RPC CAST load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- Master total, %
|
||||||
|
- Slave 1 total, %
|
||||||
|
- Slave 2 total, %
|
||||||
|
- Master sys, %
|
||||||
|
- Slave 1 sys, %
|
||||||
|
- Slave 2 sys, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 1148.3
|
||||||
|
- 88.9
|
||||||
|
- 70.9
|
||||||
|
- 300.9
|
||||||
|
- 22.4
|
||||||
|
- 18.3
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 1564.5
|
||||||
|
- 83.0
|
||||||
|
- 68.5
|
||||||
|
- 440.5
|
||||||
|
- 20.1
|
||||||
|
- 16.3
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 1534.4
|
||||||
|
- 61.0
|
||||||
|
- 59.0
|
||||||
|
- 452.4
|
||||||
|
- 14.8
|
||||||
|
- 14.3
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 1379.4
|
||||||
|
- 57.6
|
||||||
|
- 62.3
|
||||||
|
- 409.6
|
||||||
|
- 13.7
|
||||||
|
- 15.5
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 1457.8
|
||||||
|
- 52.0
|
||||||
|
- 58.6
|
||||||
|
- 434.2
|
||||||
|
- 12.4
|
||||||
|
- 15.4
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 3: Notification Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: notify_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: NOTIFY Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- sent, msg
|
||||||
|
- received, msg
|
||||||
|
- lost, msg
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 589725
|
||||||
|
- 589725
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 702420
|
||||||
|
- 702420
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 484577
|
||||||
|
- 484561
|
||||||
|
- 16
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 467109
|
||||||
|
- 467109
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 457309
|
||||||
|
- 457309
|
||||||
|
- 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: NOTIFY throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- throughput, msg/sec
|
||||||
|
- latency, ms
|
||||||
|
- RabbitMQ CPU consumption, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 5819.5
|
||||||
|
- 5.4
|
||||||
|
- 1387.3
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 6943.4
|
||||||
|
- 7.5
|
||||||
|
- 1693.9
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 4794.8
|
||||||
|
- 34.0
|
||||||
|
- 1729.7
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 4622.3
|
||||||
|
- 54.6
|
||||||
|
- 1686.4
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 4525.5
|
||||||
|
- 88.6
|
||||||
|
- 1644.3
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_notify_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during NOTIFY load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- Master total, %
|
||||||
|
- Slave 1 total, %
|
||||||
|
- Slave 2 total, %
|
||||||
|
- Master sys, %
|
||||||
|
- Slave 1 sys, %
|
||||||
|
- Slave 2 sys, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 1220.5
|
||||||
|
- 107.3
|
||||||
|
- 59.4
|
||||||
|
- 319.5
|
||||||
|
- 28.4
|
||||||
|
- 16.2
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 1531.8
|
||||||
|
- 100.8
|
||||||
|
- 61.3
|
||||||
|
- 427.4
|
||||||
|
- 23.7
|
||||||
|
- 15.5
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 1609.9
|
||||||
|
- 72.9
|
||||||
|
- 46.9
|
||||||
|
- 476.1
|
||||||
|
- 18.2
|
||||||
|
- 12.8
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 1573.8
|
||||||
|
- 67.1
|
||||||
|
- 45.4
|
||||||
|
- 466.8
|
||||||
|
- 16.5
|
||||||
|
- 12.2
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 1529.6
|
||||||
|
- 68.8
|
||||||
|
- 45.9
|
||||||
|
- 455.8
|
||||||
|
- 16.8
|
||||||
|
- 12.5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. references:
|
||||||
|
|
||||||
|
.. _message_queue_performance: http://docs.openstack.org/developer/performance-docs/test_plans/mq/plan.html
|
||||||
|
.. _Oslo.messaging Simulator: https://github.com/openstack/oslo.messaging/blob/master/tools/simulator.py
|
||||||
|
.. _RabbitMQ HA queues: https://www.rabbitmq.com/ha.html
|
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 19 KiB |
238
doc/source/test_results/mq/rabbitmq/cmsm-ha/topology_cmsm_ha.svg
Normal file
@ -0,0 +1,238 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="580"
|
||||||
|
height="350"
|
||||||
|
viewBox="0 0 580.00001 350"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="topology-cmsm-ha.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4">
|
||||||
|
<marker
|
||||||
|
inkscape:isstock="true"
|
||||||
|
style="overflow:visible"
|
||||||
|
id="marker4607"
|
||||||
|
refX="0"
|
||||||
|
refY="0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow1Mend">
|
||||||
|
<path
|
||||||
|
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
id="path4609"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Mend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Mend"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<path
|
||||||
|
id="path4250"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
id="path4244"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
style="fill:#44aa00;fill-opacity:1;fill-rule:evenodd;stroke:#44aa00;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="0.98994949"
|
||||||
|
inkscape:cx="323.60285"
|
||||||
|
inkscape:cy="205.89558"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1855"
|
||||||
|
inkscape:window-height="1056"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
units="px"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-71.73098,-42.362206)">
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4605"
|
||||||
|
d="M 454.66953,266.46352 363.7558,169.48888"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4607)"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
|
||||||
|
d="m 270.72088,266.46352 88.89343,-93.94418"
|
||||||
|
id="path4235"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<rect
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect4140"
|
||||||
|
width="115.15739"
|
||||||
|
height="78.286819"
|
||||||
|
x="112.12693"
|
||||||
|
y="91.202057" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="138.16592"
|
||||||
|
y="139.84962"
|
||||||
|
id="text4142"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4144"
|
||||||
|
x="138.16592"
|
||||||
|
y="139.84962">Slave</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="91.202057"
|
||||||
|
x="304.05591"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4146"
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4148"
|
||||||
|
y="139.84962"
|
||||||
|
x="324.09491"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="139.84962"
|
||||||
|
x="324.09491"
|
||||||
|
id="tspan4150"
|
||||||
|
sodipodi:role="line">Master</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="91.202057"
|
||||||
|
x="495.98492"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4152"
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4154"
|
||||||
|
y="139.84962"
|
||||||
|
x="522.02386"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="139.84962"
|
||||||
|
x="522.02386"
|
||||||
|
id="tspan4156"
|
||||||
|
sodipodi:role="line">Slave</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="266.46353"
|
||||||
|
x="211.37442"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4158"
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4160"
|
||||||
|
y="315.11111"
|
||||||
|
x="237.41341"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="315.11111"
|
||||||
|
x="237.41341"
|
||||||
|
id="tspan4162"
|
||||||
|
sodipodi:role="line">client</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect4164"
|
||||||
|
width="115.15739"
|
||||||
|
height="78.286819"
|
||||||
|
x="396.73743"
|
||||||
|
y="266.46353" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="418.77643"
|
||||||
|
y="315.11111"
|
||||||
|
id="text4166"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4168"
|
||||||
|
x="418.77643"
|
||||||
|
y="315.11111">server</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#808080;stroke-width:1.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32704408"
|
||||||
|
id="rect4225"
|
||||||
|
width="578"
|
||||||
|
height="348"
|
||||||
|
x="72.73098"
|
||||||
|
y="43.362206" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
d="m 227.14286,122.07649 76.42857,0"
|
||||||
|
id="path4591"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4595"
|
||||||
|
d="m 419.14286,122.07649 76.42857,0"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4210"
|
||||||
|
d="m 227.14286,138.07649 76.42857,0"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
d="m 419.14286,138.07649 76.42857,0"
|
||||||
|
id="path4212"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 9.8 KiB |
496
doc/source/test_results/mq/rabbitmq/cmsm/index.rst
Normal file
@ -0,0 +1,496 @@
|
|||||||
|
RabbitMQ performance (Client and Server connected to Master)
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
|
This report contains results of :ref:`message_queue_performance` execution
|
||||||
|
with `Oslo.messaging Simulator`_. Both simulator client and simulator server
|
||||||
|
are connected to Master node. `RabbitMQ HA queues`_ are disabled.
|
||||||
|
|
||||||
|
.. image:: topology_cmsm.*
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 1: RPC CALL Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_call_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CALL Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- sent, msg
|
||||||
|
- received, msg
|
||||||
|
- round-trip, msg
|
||||||
|
- lost, msg
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 301010
|
||||||
|
- 301010
|
||||||
|
- 301010
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 426252
|
||||||
|
- 426252
|
||||||
|
- 426252
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 518273
|
||||||
|
- 518273
|
||||||
|
- 518273
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 514594
|
||||||
|
- 514594
|
||||||
|
- 514594
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 405731
|
||||||
|
- 405898
|
||||||
|
- 405731
|
||||||
|
- 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CALL throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- throughput, msg/sec
|
||||||
|
- latency, ms
|
||||||
|
- RabbitMQ CPU, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 2956.7
|
||||||
|
- 13.8
|
||||||
|
- 835.8
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 4197.8
|
||||||
|
- 21.5
|
||||||
|
- 1634.4
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 5122.3
|
||||||
|
- 47.5
|
||||||
|
- 1511.7
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 5088.6
|
||||||
|
- 67.5
|
||||||
|
- 1406.3
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 3978.6
|
||||||
|
- 98.3
|
||||||
|
- 1494.8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during RPC CALL load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- Master total, %
|
||||||
|
- Slave 1 total, %
|
||||||
|
- Slave 2 total, %
|
||||||
|
- Master sys, %
|
||||||
|
- Slave 1 sys, %
|
||||||
|
- Slave 2 sys, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 820.6
|
||||||
|
- 5.8
|
||||||
|
- 9.4
|
||||||
|
- 210.8
|
||||||
|
- 2.0
|
||||||
|
- 2.9
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 1618.2
|
||||||
|
- 6.6
|
||||||
|
- 9.5
|
||||||
|
- 483.2
|
||||||
|
- 2.1
|
||||||
|
- 2.9
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 1496.4
|
||||||
|
- 6.2
|
||||||
|
- 9.2
|
||||||
|
- 443.8
|
||||||
|
- 2.2
|
||||||
|
- 2.6
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 1390.6
|
||||||
|
- 6.1
|
||||||
|
- 9.7
|
||||||
|
- 406.2
|
||||||
|
- 2.0
|
||||||
|
- 2.7
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 1479.2
|
||||||
|
- 6.6
|
||||||
|
- 9.1
|
||||||
|
- 432.0
|
||||||
|
- 2.2
|
||||||
|
- 2.4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 2: RPC CAST Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_cast_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CAST Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- sent, msg
|
||||||
|
- received, msg
|
||||||
|
- lost, msg
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 685704
|
||||||
|
- 685704
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 948844
|
||||||
|
- 948844
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 625096
|
||||||
|
- 625096
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 578176
|
||||||
|
- 578176
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 565903
|
||||||
|
- 565903
|
||||||
|
- 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CAST throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- throughput, msg/sec
|
||||||
|
- latency, ms
|
||||||
|
- RabbitMQ CPU consumption, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 6754.4
|
||||||
|
- 47.2
|
||||||
|
- 1131.1
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 9372.1
|
||||||
|
- 10.9
|
||||||
|
- 1518.3
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 6185.0
|
||||||
|
- 40.4
|
||||||
|
- 1601.9
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 5721.3
|
||||||
|
- 61.0
|
||||||
|
- 1451.0
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 5570.7
|
||||||
|
- 88.8
|
||||||
|
- 1486.6
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during RPC CAST load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- Master total, %
|
||||||
|
- Slave 1 total, %
|
||||||
|
- Slave 2 total, %
|
||||||
|
- Master sys, %
|
||||||
|
- Slave 1 sys, %
|
||||||
|
- Slave 2 sys, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 1114.4
|
||||||
|
- 6.5
|
||||||
|
- 10.2
|
||||||
|
- 293.6
|
||||||
|
- 2.3
|
||||||
|
- 2.2
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 1502.3
|
||||||
|
- 7.2
|
||||||
|
- 8.9
|
||||||
|
- 428.2
|
||||||
|
- 2.3
|
||||||
|
- 2.5
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 1586.1
|
||||||
|
- 6.8
|
||||||
|
- 9.0
|
||||||
|
- 466.0
|
||||||
|
- 2.1
|
||||||
|
- 2.7
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 1434.9
|
||||||
|
- 6.6
|
||||||
|
- 9.5
|
||||||
|
- 422.2
|
||||||
|
- 2.2
|
||||||
|
- 3.0
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 1470.8
|
||||||
|
- 6.1
|
||||||
|
- 9.7
|
||||||
|
- 438.0
|
||||||
|
- 2.0
|
||||||
|
- 3.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 3: Notification Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: notify_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: NOTIFY Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- sent, msg
|
||||||
|
- received, msg
|
||||||
|
- lost, msg
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 652649
|
||||||
|
- 652649
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 937191
|
||||||
|
- 937191
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 622106
|
||||||
|
- 622106
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 583574
|
||||||
|
- 583574
|
||||||
|
- 0
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 573813
|
||||||
|
- 573813
|
||||||
|
- 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: NOTIFY throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- throughput, msg/sec
|
||||||
|
- latency, ms
|
||||||
|
- RabbitMQ CPU consumption, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 6425.6
|
||||||
|
- 51.8
|
||||||
|
- 1047.9
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 9251.9
|
||||||
|
- 10.6
|
||||||
|
- 1434.0
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 6155.4
|
||||||
|
- 40.5
|
||||||
|
- 1625.7
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 5774.5
|
||||||
|
- 60.3
|
||||||
|
- 1451.2
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 5674.8
|
||||||
|
- 87.5
|
||||||
|
- 1460.3
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_notify_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during NOTIFY load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- threads
|
||||||
|
- Master total, %
|
||||||
|
- Slave 1 total, %
|
||||||
|
- Slave 2 total, %
|
||||||
|
- Master sys, %
|
||||||
|
- Slave 1 sys, %
|
||||||
|
- Slave 2 sys, %
|
||||||
|
*
|
||||||
|
- 50
|
||||||
|
- 1032.2
|
||||||
|
- 6.1
|
||||||
|
- 9.6
|
||||||
|
- 268.3
|
||||||
|
- 2.0
|
||||||
|
- 3.0
|
||||||
|
*
|
||||||
|
- 100
|
||||||
|
- 1418.0
|
||||||
|
- 6.1
|
||||||
|
- 9.9
|
||||||
|
- 400.8
|
||||||
|
- 2.1
|
||||||
|
- 2.9
|
||||||
|
*
|
||||||
|
- 250
|
||||||
|
- 1610.3
|
||||||
|
- 6.4
|
||||||
|
- 9.1
|
||||||
|
- 475.5
|
||||||
|
- 2.0
|
||||||
|
- 2.8
|
||||||
|
*
|
||||||
|
- 350
|
||||||
|
- 1436.1
|
||||||
|
- 6.1
|
||||||
|
- 9.0
|
||||||
|
- 425.4
|
||||||
|
- 1.9
|
||||||
|
- 2.6
|
||||||
|
*
|
||||||
|
- 500
|
||||||
|
- 1443.6
|
||||||
|
- 6.6
|
||||||
|
- 10.1
|
||||||
|
- 430.8
|
||||||
|
- 2.2
|
||||||
|
- 2.9
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. references:
|
||||||
|
|
||||||
|
.. _message_queue_performance: http://docs.openstack.org/developer/performance-docs/test_plans/mq/plan.html
|
||||||
|
.. _Oslo.messaging Simulator: https://github.com/openstack/oslo.messaging/blob/master/tools/simulator.py
|
||||||
|
.. _RabbitMQ HA queues: https://www.rabbitmq.com/ha.html
|
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 19 KiB |
228
doc/source/test_results/mq/rabbitmq/cmsm/topology_cmsm.svg
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="580"
|
||||||
|
height="350"
|
||||||
|
viewBox="0 0 580.00001 350"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="topology-cmsm.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4">
|
||||||
|
<marker
|
||||||
|
inkscape:isstock="true"
|
||||||
|
style="overflow:visible"
|
||||||
|
id="marker4607"
|
||||||
|
refX="0"
|
||||||
|
refY="0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow1Mend">
|
||||||
|
<path
|
||||||
|
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
id="path4609"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Mend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Mend"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<path
|
||||||
|
id="path4250"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
id="path4244"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
style="fill:#44aa00;fill-opacity:1;fill-rule:evenodd;stroke:#44aa00;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="0.98994949"
|
||||||
|
inkscape:cx="323.60285"
|
||||||
|
inkscape:cy="205.89558"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1855"
|
||||||
|
inkscape:window-height="1056"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
units="px"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-71.73098,-42.362206)">
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4605"
|
||||||
|
d="M 454.66953,266.46352 363.7558,169.48888"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4607)"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
|
||||||
|
d="m 270.72088,266.46352 88.89343,-93.94418"
|
||||||
|
id="path4235"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<rect
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect4140"
|
||||||
|
width="115.15739"
|
||||||
|
height="78.286819"
|
||||||
|
x="112.12693"
|
||||||
|
y="91.202057" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="138.16592"
|
||||||
|
y="139.84962"
|
||||||
|
id="text4142"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4144"
|
||||||
|
x="138.16592"
|
||||||
|
y="139.84962">Slave</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="91.202057"
|
||||||
|
x="304.05591"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4146"
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4148"
|
||||||
|
y="139.84962"
|
||||||
|
x="324.09491"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="139.84962"
|
||||||
|
x="324.09491"
|
||||||
|
id="tspan4150"
|
||||||
|
sodipodi:role="line">Master</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="91.202057"
|
||||||
|
x="495.98492"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4152"
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4154"
|
||||||
|
y="139.84962"
|
||||||
|
x="522.02386"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="139.84962"
|
||||||
|
x="522.02386"
|
||||||
|
id="tspan4156"
|
||||||
|
sodipodi:role="line">Slave</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="266.46353"
|
||||||
|
x="211.37442"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4158"
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4160"
|
||||||
|
y="315.11111"
|
||||||
|
x="237.41341"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="315.11111"
|
||||||
|
x="237.41341"
|
||||||
|
id="tspan4162"
|
||||||
|
sodipodi:role="line">client</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect4164"
|
||||||
|
width="115.15739"
|
||||||
|
height="78.286819"
|
||||||
|
x="396.73743"
|
||||||
|
y="266.46353" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="418.77643"
|
||||||
|
y="315.11111"
|
||||||
|
id="text4166"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4168"
|
||||||
|
x="418.77643"
|
||||||
|
y="315.11111">server</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#808080;stroke-width:1.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32704408"
|
||||||
|
id="rect4225"
|
||||||
|
width="578"
|
||||||
|
height="348"
|
||||||
|
x="72.73098"
|
||||||
|
y="43.362206" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-opacity:1;stroke-dashoffset:0"
|
||||||
|
d="m 227.14286,130.07649 76.42857,0"
|
||||||
|
id="path4591"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4595"
|
||||||
|
d="m 419.14286,130.07649 76.42857,0"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-opacity:1;stroke-dashoffset:0" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 9.2 KiB |
494
doc/source/test_results/mq/rabbitmq/cs1ss2-ha/index.rst
Normal file
@ -0,0 +1,494 @@
|
|||||||
|
RabbitMQ performance (Client -> Slave-1, Server -> Slave-2), HA queues enabled
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
This report contains results of :ref:`message_queue_performance` execution
|
||||||
|
with `Oslo.messaging Simulator`_. Simulator client and simulator server
|
||||||
|
are connected to different slave nodes. `RabbitMQ HA queues`_ are enabled.
|
||||||
|
|
||||||
|
.. image:: topology_cs1ss2_ha.*
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 1: RPC CALL Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_call_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CALL Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CALL throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during RPC CALL load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 2: RPC CAST Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_cast_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CAST Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CAST throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during RPC CAST load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 3: Notification Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: notify_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: NOTIFY Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: NOTIFY throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_notify_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during NOTIFY load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. references:
|
||||||
|
|
||||||
|
.. _message_queue_performance: http://docs.openstack.org/developer/performance-docs/test_plans/mq/plan.html
|
||||||
|
.. _Oslo.messaging Simulator: https://github.com/openstack/oslo.messaging/blob/master/tools/simulator.py
|
||||||
|
.. _RabbitMQ HA queues: https://www.rabbitmq.com/ha.html
|
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 19 KiB |
@ -0,0 +1,238 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="580"
|
||||||
|
height="350"
|
||||||
|
viewBox="0 0 580.00001 350"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="topology_cs1ss2_ha.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4">
|
||||||
|
<marker
|
||||||
|
inkscape:isstock="true"
|
||||||
|
style="overflow:visible"
|
||||||
|
id="marker4607"
|
||||||
|
refX="0"
|
||||||
|
refY="0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow1Mend">
|
||||||
|
<path
|
||||||
|
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
id="path4609"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Mend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Mend"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<path
|
||||||
|
id="path4250"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
id="path4244"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
style="fill:#44aa00;fill-opacity:1;fill-rule:evenodd;stroke:#44aa00;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="0.98994949"
|
||||||
|
inkscape:cx="323.60285"
|
||||||
|
inkscape:cy="205.89558"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1855"
|
||||||
|
inkscape:window-height="1056"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
units="px"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-71.73098,-42.362206)">
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4605"
|
||||||
|
d="m 456.93109,266.46352 90.91373,-96.97464"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4607)"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
|
||||||
|
d="M 262.46309,266.46352 173.56966,172.51934"
|
||||||
|
id="path4235"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<rect
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect4140"
|
||||||
|
width="115.15739"
|
||||||
|
height="78.286819"
|
||||||
|
x="112.12693"
|
||||||
|
y="91.202057" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="128.16592"
|
||||||
|
y="139.84962"
|
||||||
|
id="text4142"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4144"
|
||||||
|
x="128.16592"
|
||||||
|
y="139.84962">Slave-1</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="91.202057"
|
||||||
|
x="304.05591"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4146"
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4148"
|
||||||
|
y="139.84962"
|
||||||
|
x="324.09491"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="139.84962"
|
||||||
|
x="324.09491"
|
||||||
|
id="tspan4150"
|
||||||
|
sodipodi:role="line">Master</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="91.202057"
|
||||||
|
x="495.98492"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4152"
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4154"
|
||||||
|
y="139.84962"
|
||||||
|
x="512.02386"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="139.84962"
|
||||||
|
x="512.02386"
|
||||||
|
id="tspan4156"
|
||||||
|
sodipodi:role="line">Slave-2</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="266.46353"
|
||||||
|
x="211.37442"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4158"
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4160"
|
||||||
|
y="315.11111"
|
||||||
|
x="237.41341"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="315.11111"
|
||||||
|
x="237.41341"
|
||||||
|
id="tspan4162"
|
||||||
|
sodipodi:role="line">client</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect4164"
|
||||||
|
width="115.15739"
|
||||||
|
height="78.286819"
|
||||||
|
x="396.73743"
|
||||||
|
y="266.46353" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="418.77643"
|
||||||
|
y="315.11111"
|
||||||
|
id="text4166"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4168"
|
||||||
|
x="418.77643"
|
||||||
|
y="315.11111">server</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#808080;stroke-width:1.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32704408"
|
||||||
|
id="rect4225"
|
||||||
|
width="578"
|
||||||
|
height="348"
|
||||||
|
x="72.73098"
|
||||||
|
y="43.362206" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
d="m 227.14286,122.07649 76.42857,0"
|
||||||
|
id="path4591"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4595"
|
||||||
|
d="m 419.14286,122.07649 76.42857,0"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4210"
|
||||||
|
d="m 227.14286,138.07649 76.42857,0"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
d="m 419.14286,138.07649 76.42857,0"
|
||||||
|
id="path4212"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 9.8 KiB |
495
doc/source/test_results/mq/rabbitmq/cs1ss2/index.rst
Normal file
@ -0,0 +1,495 @@
|
|||||||
|
RabbitMQ performance (Client -> Slave-1, Server -> Slave-2)
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
This report contains results of :ref:`message_queue_performance` execution
|
||||||
|
with `Oslo.messaging Simulator`_. Simulator client and simulator server
|
||||||
|
are connected to different slave nodes. `RabbitMQ HA queues`_ are enabled.
|
||||||
|
|
||||||
|
.. image:: topology_cs1ss2.*
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 1: RPC CALL Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_call_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CALL Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CALL throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during RPC CALL load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 2: RPC CAST Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_cast_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CAST Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RPC CAST throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during RPC CAST load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 3: Notification Throughput Test
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: notify_message_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: NOTIFY Message count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: NOTIFY throughput, latency and RabbitMQ CPU utilization depending on thread count
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
Detailed RabbitMQ CPU consumption
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thus chart shows statistics on RabbitMQ CPU consumption per nodes.
|
||||||
|
|
||||||
|
.. image:: rabbitmq_nodes_cpu_consumption_during_notify_load_test.*
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table:: RabbitMQ nodes CPU consumption during NOTIFY load test
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. references:
|
||||||
|
|
||||||
|
.. _Oslo.messaging Simulator: https://github.com/openstack/oslo.messaging/blob/master/tools/simulator.py
|
||||||
|
.. _RabbitMQ HA queues: https://www.rabbitmq.com/ha.html
|
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 20 KiB |
228
doc/source/test_results/mq/rabbitmq/cs1ss2/topology_cs1ss2.svg
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="580"
|
||||||
|
height="350"
|
||||||
|
viewBox="0 0 580.00001 350"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="topology_cs1ss2.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4">
|
||||||
|
<marker
|
||||||
|
inkscape:isstock="true"
|
||||||
|
style="overflow:visible"
|
||||||
|
id="marker4607"
|
||||||
|
refX="0"
|
||||||
|
refY="0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow1Mend">
|
||||||
|
<path
|
||||||
|
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
id="path4609"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Mend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Mend"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<path
|
||||||
|
id="path4250"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
id="path4244"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||||
|
style="fill:#44aa00;fill-opacity:1;fill-rule:evenodd;stroke:#44aa00;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="0.98994949"
|
||||||
|
inkscape:cx="323.60285"
|
||||||
|
inkscape:cy="205.89558"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1855"
|
||||||
|
inkscape:window-height="1056"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
units="px"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-71.73098,-42.362206)">
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4605"
|
||||||
|
d="m 456.93109,266.46352 90.91373,-96.97464"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4607)"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
|
||||||
|
d="M 262.46309,266.46352 173.56966,172.51934"
|
||||||
|
id="path4235"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<rect
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect4140"
|
||||||
|
width="115.15739"
|
||||||
|
height="78.286819"
|
||||||
|
x="112.12693"
|
||||||
|
y="91.202057" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="128.16592"
|
||||||
|
y="139.84962"
|
||||||
|
id="text4142"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4144"
|
||||||
|
x="128.16592"
|
||||||
|
y="139.84962">Slave-1</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="91.202057"
|
||||||
|
x="304.05591"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4146"
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4148"
|
||||||
|
y="139.84962"
|
||||||
|
x="324.09491"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="139.84962"
|
||||||
|
x="324.09491"
|
||||||
|
id="tspan4150"
|
||||||
|
sodipodi:role="line">Master</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="91.202057"
|
||||||
|
x="495.98492"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4152"
|
||||||
|
style="fill:#b3ff80;fill-opacity:0.59215689;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4154"
|
||||||
|
y="139.84962"
|
||||||
|
x="512.02386"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="139.84962"
|
||||||
|
x="512.02386"
|
||||||
|
id="tspan4156"
|
||||||
|
sodipodi:role="line">Slave-2</tspan></text>
|
||||||
|
<rect
|
||||||
|
y="266.46353"
|
||||||
|
x="211.37442"
|
||||||
|
height="78.286819"
|
||||||
|
width="115.15739"
|
||||||
|
id="rect4158"
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text4160"
|
||||||
|
y="315.11111"
|
||||||
|
x="237.41341"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="315.11111"
|
||||||
|
x="237.41341"
|
||||||
|
id="tspan4162"
|
||||||
|
sodipodi:role="line">client</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect4164"
|
||||||
|
width="115.15739"
|
||||||
|
height="78.286819"
|
||||||
|
x="396.73743"
|
||||||
|
y="266.46353" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="418.77643"
|
||||||
|
y="315.11111"
|
||||||
|
id="text4166"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4168"
|
||||||
|
x="418.77643"
|
||||||
|
y="315.11111">server</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;fill-opacity:0.59215686;stroke:#808080;stroke-width:1.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32704408"
|
||||||
|
id="rect4225"
|
||||||
|
width="578"
|
||||||
|
height="348"
|
||||||
|
x="72.73098"
|
||||||
|
y="43.362206" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
d="m 227.14286,130.07649 76.42857,0"
|
||||||
|
id="path4591"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4595"
|
||||||
|
d="m 419.14286,130.07649 76.42857,0"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 9.2 KiB |
70
doc/source/test_results/mq/rabbitmq/index.rst
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
.. raw:: pdf
|
||||||
|
|
||||||
|
PageBreak oneColumn
|
||||||
|
|
||||||
|
.. _mq_ha_rabbit_report:
|
||||||
|
|
||||||
|
===========================
|
||||||
|
RabbitMQ Performance Report
|
||||||
|
===========================
|
||||||
|
|
||||||
|
Environment description
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This report is generated for :ref:`message_queue_performance` test plan with
|
||||||
|
`Oslo.messaging Simulator`_ tool. The data is collected in
|
||||||
|
:ref:`intel_mirantis_performance_lab`.
|
||||||
|
|
||||||
|
|
||||||
|
Reports
|
||||||
|
^^^^^^^
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
cmsm/index
|
||||||
|
cs1ss2/index
|
||||||
|
|
||||||
|
cmsm-ha/index
|
||||||
|
cs1ss2-ha/index
|
||||||
|
|
||||||
|
|
||||||
|
High-level performance overview
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The following table shows top throughput achieved on different topologies
|
||||||
|
with RabbitMQ HA queues enabled and disabled.
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
*
|
||||||
|
- Topology
|
||||||
|
- CALL, msg/sec
|
||||||
|
- CAST, msg/sec
|
||||||
|
- NOTIFY, msg/sec
|
||||||
|
*
|
||||||
|
- Client -> Master, Server -> Master
|
||||||
|
- 5100
|
||||||
|
- 9300
|
||||||
|
- 9200
|
||||||
|
*
|
||||||
|
- Client -> Slave-1, Server -> Slave-2
|
||||||
|
- 6800
|
||||||
|
- 14700
|
||||||
|
- 14300
|
||||||
|
*
|
||||||
|
- Client -> Master, Server -> Master (HA)
|
||||||
|
- 2400
|
||||||
|
- 6600
|
||||||
|
- 6900
|
||||||
|
*
|
||||||
|
- Client -> Slave-1, Server -> Slave-2 (HA)
|
||||||
|
- 3200
|
||||||
|
- 5600
|
||||||
|
- 5300
|
||||||
|
|
||||||
|
|
||||||
|
.. references:
|
||||||
|
|
||||||
|
.. _Oslo.messaging Simulator: https://github.com/openstack/oslo.messaging/blob/master/tools/simulator.py
|