RabbitMQ performance report
Change-Id: I5ca7e875ddb0655d36d06a592e51b02697f23f41
@ -9,4 +9,5 @@ Test Results
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
mq/rabbitmq/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
|