From 8e3740556deaf03b7c64426bacaecd4d7ad8f964 Mon Sep 17 00:00:00 2001 From: Ilya Shakhat Date: Mon, 28 Mar 2016 12:53:11 +0300 Subject: [PATCH] RabbitMQ performance report Change-Id: I5ca7e875ddb0655d36d06a592e51b02697f23f41 --- doc/source/test_results/index.rst | 1 + .../mq/rabbitmq/cmsm-ha/index.rst | 494 +++++++++++++++++ .../rabbitmq/cmsm-ha/notify_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + ...pu_consumption_during_notify_load_test.svg | 4 + ..._consumption_during_rpc_call_load_test.svg | 4 + ..._consumption_during_rpc_cast_load_test.svg | 4 + .../cmsm-ha/rpc_call_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + .../cmsm-ha/rpc_cast_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + .../mq/rabbitmq/cmsm-ha/topology_cmsm_ha.svg | 238 +++++++++ .../test_results/mq/rabbitmq/cmsm/index.rst | 496 ++++++++++++++++++ .../mq/rabbitmq/cmsm/notify_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + ...pu_consumption_during_notify_load_test.svg | 4 + ..._consumption_during_rpc_call_load_test.svg | 4 + ..._consumption_during_rpc_cast_load_test.svg | 4 + .../rabbitmq/cmsm/rpc_call_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + .../rabbitmq/cmsm/rpc_cast_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + .../mq/rabbitmq/cmsm/topology_cmsm.svg | 228 ++++++++ .../mq/rabbitmq/cs1ss2-ha/index.rst | 494 +++++++++++++++++ .../cs1ss2-ha/notify_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + ...pu_consumption_during_notify_load_test.svg | 4 + ..._consumption_during_rpc_call_load_test.svg | 4 + ..._consumption_during_rpc_cast_load_test.svg | 4 + .../cs1ss2-ha/rpc_call_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + .../cs1ss2-ha/rpc_cast_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + .../rabbitmq/cs1ss2-ha/topology_cs1ss2_ha.svg | 238 +++++++++ .../test_results/mq/rabbitmq/cs1ss2/index.rst | 495 +++++++++++++++++ .../rabbitmq/cs1ss2/notify_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + ...pu_consumption_during_notify_load_test.svg | 4 + ..._consumption_during_rpc_call_load_test.svg | 4 + ..._consumption_during_rpc_cast_load_test.svg | 4 + .../cs1ss2/rpc_call_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + .../cs1ss2/rpc_cast_message_count.svg | 4 + ..._utilization_depending_on_thread_count.svg | 4 + .../mq/rabbitmq/cs1ss2/topology_cs1ss2.svg | 228 ++++++++ doc/source/test_results/mq/rabbitmq/index.rst | 70 +++ 46 files changed, 3126 insertions(+) create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm-ha/index.rst create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm-ha/notify_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm-ha/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_call_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_cast_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm-ha/topology_cmsm_ha.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm/index.rst create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm/notify_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm/rpc_call_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm/rpc_cast_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cmsm/topology_cmsm.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2-ha/index.rst create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2-ha/notify_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2-ha/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_call_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_cast_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2-ha/topology_cs1ss2_ha.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2/index.rst create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2/notify_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_call_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_cast_message_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg create mode 100644 doc/source/test_results/mq/rabbitmq/cs1ss2/topology_cs1ss2.svg create mode 100644 doc/source/test_results/mq/rabbitmq/index.rst diff --git a/doc/source/test_results/index.rst b/doc/source/test_results/index.rst index fcd6f39..9206054 100644 --- a/doc/source/test_results/index.rst +++ b/doc/source/test_results/index.rst @@ -9,4 +9,5 @@ Test Results .. toctree:: :maxdepth: 2 + mq/rabbitmq/index mq_ha/index diff --git a/doc/source/test_results/mq/rabbitmq/cmsm-ha/index.rst b/doc/source/test_results/mq/rabbitmq/cmsm-ha/index.rst new file mode 100644 index 0000000..472e77a --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm-ha/index.rst @@ -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 \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm-ha/notify_message_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm-ha/notify_message_count.svg new file mode 100644 index 0000000..23cb08e --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm-ha/notify_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100000.0100000.0200000.0200000.0300000.0300000.0400000.0400000.0500000.0500000.0600000.0600000.0700000.0700000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 58972513.581.3706879842100: 70242088.59.01923076923250: 484577313.5148.876886336350: 467109463.5160.091538757500: 457309688.5166.38324895550: 013.5459.980769231100: 088.5459.980769231250: 16313.5459.970497051350: 0463.5459.980769231500: 0688.5459.98076923150: 58972513.581.3706879842100: 70242088.59.01923076923250: 484561313.5148.887158516350: 467109463.5160.091538757500: 457309688.5166.383248955sent, msglost, msgreceived, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm-ha/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm-ha/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..c9474d1 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm-ha/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.01000.01000.02000.02000.03000.03000.04000.04000.05000.05000.06000.06000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 5819.5233843313.730769230882.0110628454100: 6943.3639103390.01282051289.01923076923250: 4794.83508062318.858974359148.563100137350: 4622.332381471.423076923159.766903339500: 4525.48770664700.269230769166.05682619250: 5.3825737603413.7307692308459.631178776100: 7.4831535222890.0128205128459.49474913250: 33.9715294756318.858974359457.774367061350: 54.5869745185471.423076923456.435423441500: 88.566927672700.269230769454.22847416550: 1387.268741513.7307692308369.879651962100: 1693.8577879890.0128205128349.967132632250: 1729.71190963318.858974359347.638458798350: 1686.41639498471.423076923350.450440447500: 1644.34366447700.269230769353.183004017throughput, msg/seclatency, msRabbitMQ CPU consumption, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg new file mode 100644 index 0000000..70dc3d8 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0200.0200.0400.0400.0600.0600.0800.0800.01000.01000.01200.01200.01400.01400.01600.01600.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 107.34959349613.7307692308410.660478982100: 100.890.0128205128412.412990667250: 72.9216129032318.858974359419.872567993350: 67.1317829457471.423076923421.421785461500: 68.826446281700.269230769420.96833483150: 1220.5181818213.7307692308112.80367926100: 1531.7692307790.012820512829.5204799999250: 1609.89702755318.8589743598.61538461538350: 1573.84677419471.42307692318.2615543026500: 1529.57936508700.26923076930.106434717950: 59.400966183613.7307692308423.49036372100: 61.288557213990.0128205128422.985290338250: 46.8932691742318.858974359426.837118778350: 45.4378378378471.423076923427.226556752500: 45.9378531073700.269230769427.09276484550: 319.48181818213.7307692308353.899062764100: 427.42735042790.0128205128325.015467667250: 476.085592287318.858974359311.995707361350: 466.758064516471.423076923314.491526593500: 455.761904762700.269230769317.43383109950: 28.40650406513.7307692308431.783726821100: 23.746153846290.0128205128433.030723023250: 18.2474193548318.858974359434.502050435350: 16.4651162791471.423076923434.978951325500: 16.8429752066700.269230769434.8778454850: 16.169082125613.7307692308435.058162854100: 15.457711442890.0128205128435.248508321250: 12.8136267337318.858974359435.956000984350: 12.2432432432471.423076923436.108621713500: 12.5310734463700.269230769436.031605362Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg new file mode 100644 index 0000000..a62d04a --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0600.0600.0700.0700.0800.0800.0900.0900.01000.01000.01100.01100.01200.01200.01300.01300.01400.01400.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 122.13822916713.7307692308403.735874886100: 118.21311475490.0128205128404.881506242250: 127.599990197318.858974359402.141739266350: 129.935615899471.423076923401.460035305500: 128.52892562700.269230769401.8706089450: 1255.4881355913.730769230872.9426663671100: 1142.7812590.0128205128105.838660884250: 1475.88358773318.8589743598.61538461538350: 1459.28980948471.42307692313.4586453925500: 1358.8700.26923076942.788816341350: 109.4151231113.7307692308407.449394471100: 109.29166666790.0128205128407.485427962250: 121.546101537318.858974359403.908700416350: 128.064622007471.423076923402.006126207500: 132.741666667700.269230769400.64102739750: 353.16520353513.7307692308336.305548495100: 319.382812590.0128205128346.165685649250: 416.882748492318.858974359317.70817533350: 416.036985025471.423076923317.955030083500: 396.123076923700.269230769323.76734410750: 32.959254807713.7307692308429.764728723100: 29.852459016490.0128205128430.671515711250: 32.5811244534318.858974359429.87509442350: 32.734214876471.423076923429.830411598500: 32.1404958678700.269230769430.00370160850: 29.166216722913.7307692308430.871810685100: 26.716666666790.0128205128431.586765985250: 29.5364508617318.858974359430.763749672350: 31.0802508226471.423076923430.313157547500: 31.125700.269230769430.300096511Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg new file mode 100644 index 0000000..c241668 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0600.0600.0700.0700.0800.0800.0900.0900.01000.01000.01100.01100.01200.01200.01300.01300.01400.01400.01500.01500.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 88.869354838713.7307692308414.915141392100: 83.046511627990.0128205128416.518415218250: 61.0491803279318.858974359422.575206415350: 57.5687926267471.423076923423.533503643500: 52.0172003244700.269230769425.06209067650: 1148.3327586213.7307692308123.20027239100: 1564.4873949690.01282051288.61538461538250: 1534.4047619318.85897435916.8983997049350: 1379.44951802471.42307692359.5641005773500: 1457.7566607700.26923076938.002848165750: 70.901819002513.7307692308419.86236028100: 68.536842105390.0128205128420.513537965250: 59.0316455696318.858974359423.130718655350: 62.309553498471.423076923422.228172631500: 58.620790287700.269230769423.24384440750: 300.86206896613.7307692308356.544624194100: 440.51260504290.0128205128318.092953573250: 452.365079365318.858974359314.829468508350: 409.585294543471.423076923326.608543916500: 434.238083482700.269230769319.82059345950: 22.43548387113.7307692308433.207182342100: 20.131782945790.0128205128433.841488172250: 14.7786885246318.858974359435.315420383350: 13.6950599078471.423076923435.613788952500: 12.4407721006700.269230769435.9591471850: 18.343922365213.7307692308434.333761442100: 16.342105263290.0128205128434.884945949250: 14.2658227848318.858974359435.456633908350: 15.4976261717471.423076923435.117466588500: 15.4398763797700.269230769435.133367536Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_call_message_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_call_message_count.svg new file mode 100644 index 0000000..9c18a51 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_call_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.020000.020000.040000.040000.060000.060000.080000.080000.0100000.0100000.0120000.0120000.0140000.0140000.0160000.0160000.0180000.0180000.0200000.0200000.0220000.0220000.0240000.0240000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 24471013.59.01923076923100: 22337788.548.3325506172250: 201327313.588.96718722350: 200093463.591.2412525973500: 169967688.5146.75867038850: 24471013.59.01923076923100: 22337788.548.3325506172250: 201327313.588.96718722350: 200093463.591.2412525973500: 169967688.5146.75867038850: 24471013.59.01923076923100: 22337788.548.3325506172250: 201327313.588.96718722350: 200093463.591.2412525973500: 169967688.5146.75867038850: 013.5459.980769231100: 088.5459.980769231250: 0313.5459.980769231350: 0463.5459.980769231500: 0688.5459.980769231sent, msground-trip, msgreceived, msglost, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..d20cfc3 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0200.0200.0400.0400.0600.0600.0800.0800.01000.01000.01200.01200.01400.01400.01600.01600.01800.01800.02000.02000.02200.02200.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 2393.8316660913.73076923089.01923076923100: 2207.5409370990.012820512844.1135755135250: 1987.37969901318.85897435985.5886098863350: 1967.31273471471.42307692389.3689212676500: 1665.81313035700.269230769146.16686882550: 1487.0414878713.7307692308179.844731837100: 1370.2860314290.0128205128201.839687042250: 1725.02967946318.858974359135.011370103350: 1717.29004738471.423076923136.46939927500: 1620.07059229700.269230769154.7840684550: 18.699851074813.7307692308456.458001223100: 44.245061906690.0128205128451.645671375250: 124.088086682318.858974359436.604457827350: 174.878737733471.423076923427.036270363500: 294.241874842700.269230769404.550067716throughput, msg/secRabbitMQ CPU, %latency, ms \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_cast_message_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_cast_message_count.svg new file mode 100644 index 0000000..a9c5a74 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_cast_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100000.0100000.0200000.0200000.0300000.0300000.0400000.0400000.0500000.0500000.0600000.0600000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 60612113.554.7881642051100: 67458688.59.01923076923250: 463741313.5149.96936252350: 451210463.5158.346350833500: 444167688.5163.05460465950: 013.5459.980769231100: 088.5459.980769231250: 0313.5459.980769231350: 0463.5459.980769231500: 0688.5459.98076923150: 60612113.554.7881642051100: 67458688.59.01923076923250: 463741313.5149.96936252350: 451210463.5158.346350833500: 444167688.5163.054604659sent, msglost, msgreceived, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..879d93c --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm-ha/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.01000.01000.02000.02000.03000.03000.04000.04000.05000.05000.06000.06000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 5982.4343955213.730769230855.4676806049100: 6669.3708920890.01282051289.01923076923250: 4588.67806684318.858974359149.709027861350: 4458.89097635471.423076923158.484816005500: 4363.76408023700.269230769164.9169926150: 5.8664127854713.7307692308459.584101153100: 7.763208086890.0128205128459.455845918250: 38.3131997524318.858974359457.390153147350: 57.6527213739471.423076923456.082476521500: 87.1526370333700.269230769454.08778653250: 1308.1039324613.7307692308371.530963185100: 1716.0707486990.0128205128343.945551298250: 1654.4855878318.858974359348.109742996350: 1499.32786414471.423076923358.601012247500: 1568.39465132700.269230769353.930936898throughput, msg/seclatency, msRabbitMQ CPU consumption, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm-ha/topology_cmsm_ha.svg b/doc/source/test_results/mq/rabbitmq/cmsm-ha/topology_cmsm_ha.svg new file mode 100644 index 0000000..42f4bf6 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm-ha/topology_cmsm_ha.svg @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + Slave + + Master + + Slave + + client + + server + + + + + + + diff --git a/doc/source/test_results/mq/rabbitmq/cmsm/index.rst b/doc/source/test_results/mq/rabbitmq/cmsm/index.rst new file mode 100644 index 0000000..928e31e --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm/index.rst @@ -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 diff --git a/doc/source/test_results/mq/rabbitmq/cmsm/notify_message_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm/notify_message_count.svg new file mode 100644 index 0000000..ffaef57 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm/notify_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100000.0100000.0200000.0200000.0300000.0300000.0400000.0400000.0500000.0500000.0600000.0600000.0700000.0700000.0800000.0800000.0900000.0900000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 65264913.5145.936356603100: 93719188.59.01923076923250: 622106313.5160.633166825350: 583574463.5179.174157936500: 573813688.5183.87099729650: 013.5459.980769231100: 088.5459.980769231250: 0313.5459.980769231350: 0463.5459.980769231500: 0688.5459.98076923150: 65264913.5145.936356603100: 93719188.59.01923076923250: 622106313.5160.633166825350: 583574463.5179.174157936500: 573813688.5183.870997296sent, msglost, msgreceived, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..5c39ffe --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.01000.01000.02000.02000.03000.03000.04000.04000.05000.05000.06000.06000.07000.07000.08000.08000.09000.09000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 6425.6109461513.7307692308146.780223792100: 9251.9104453390.01282051289.01923076923250: 6155.38963211318.858974359159.951494766350: 5774.51379454471.423076923178.516347365500: 5674.80148869700.269230769183.37657759750: 51.754517352213.7307692308457.458123026100: 10.624775285390.0128205128459.462890784250: 40.452436439318.858974359458.009015064350: 60.2896349214471.423076923457.042099788500: 87.4817961417700.269230769455.71668500650: 1047.9113300513.7307692308408.902917974100: 1434.0196592290.0128205128390.083020487250: 1625.74854889318.858974359380.737668998350: 1451.21267647471.423076923389.244989298500: 1460.31178362700.269230769388.801475779throughput, msg/seclatency, msRabbitMQ CPU consumption, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg b/doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg new file mode 100644 index 0000000..e0cf111 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0200.0200.0400.0400.0600.0600.0800.0800.01000.01000.01200.01200.01400.01400.01600.01600.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 6.0948275862113.7307692308437.754173477100: 6.1217391304390.0128205128437.746974305250: 6.38677966102318.858974359437.676072679350: 6.09515738499471.423076923437.754085252500: 6.59261075735700.269230769437.6210103150: 1032.1785714313.7307692308163.26405653100: 1417.9841269890.012820512860.0562894268250: 1610.27766667318.8589743598.61538461538350: 1436.14394766471.42307692355.1983123565500: 1443.62157369700.26923076953.197954726850: 9.6379310344813.7307692308436.806349397100: 9.9137931034590.0128205128436.732552875250: 9.0841025641318.858974359436.954505376350: 8.97357142857471.423076923436.984073825500: 10.0975991736700.269230769436.68338247450: 268.33035714313.7307692308367.602919637100: 400.8095238190.0128205128332.163100841250: 475.508666667318.858974359312.180154437350: 425.410905125471.423076923325.581926473500: 430.849837933700.269230769324.12694454650: 1.9913793103413.7307692308438.851896741100: 2.1391304347890.0128205128438.812371485250: 2.02542372881318.858974359438.842789438350: 1.88232445521471.423076923438.881070267500: 2.18222734047700.269230769438.80084252850: 3.013.7307692308438.582078208100: 2.8534482758690.0128205128438.62128261250: 2.75316239316318.858974359438.648110327350: 2.60785714286471.423076923438.686981282500: 2.90954958678700.269230769438.606274814Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg b/doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg new file mode 100644 index 0000000..7484457 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0200.0200.0400.0400.0600.0600.0800.0800.01000.01000.01200.01200.01400.01400.01600.01600.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 5.7730282227313.7307692308437.847827521100: 6.6120689655290.0128205128437.624473749250: 6.1807751938318.858974359437.73928473350: 6.064471.423076923437.770370444500: 6.5633240805700.269230769437.63744970350: 820.64406370713.7307692308220.928063916100: 1618.2083333390.01282051288.61538461538250: 1496.38406015318.85897435941.0451696851350: 1390.60839161471.42307692369.2027946542500: 1479.15428522700.26923076945.631758902850: 9.4208912768613.7307692308436.876761479100: 9.5462184873990.0128205128436.843399208250: 9.16768318.858974359436.944166661350: 9.65354330709471.423076923436.814829196500: 9.10794275716700.269230769436.96006879550: 210.78354247113.7307692308383.273753403100: 483.290.0128205128310.756126691250: 443.843007519318.858974359321.233010926350: 406.188811189471.423076923331.25660854500: 432.014243581700.269230769324.38184376750: 2.0069260106813.7307692308438.850368986100: 2.1465517241490.0128205128438.813200434250: 2.16403100775318.858974359438.808547425350: 2.008471.423076923438.850083089500: 2.17513879251700.269230769438.80559051850: 2.9414032869813.7307692308438.601609881100: 2.8739495798390.0128205128438.619566148250: 2.592318.858974359438.694621505350: 2.73228346457471.423076923438.657277858500: 2.44288213973700.269230769438.734316879Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg b/doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg new file mode 100644 index 0000000..16dd8b3 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0600.0600.0700.0700.0800.0800.0900.0900.01000.01000.01100.01100.01200.01200.01300.01300.01400.01400.01500.01500.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 6.513.7307692308437.619228806100: 7.1596638655590.0128205128437.440065463250: 6.78524590164318.858974359437.541756608350: 6.59836065574471.423076923437.592514255500: 6.14156347378700.269230769437.71657942750: 1114.3818181813.7307692308136.720814637100: 1502.2966101790.012820512831.3639581326250: 1586.05488141318.8589743598.61538461538350: 1434.89393939471.42307692349.6703843365500: 1470.781687700.26923076939.923346191850: 10.228813559313.7307692308436.606490743100: 8.8717948717990.0128205128436.975054217250: 9.0218487395318.858974359436.934299896350: 9.52845528455471.423076923436.796706604500: 9.67037063953700.269230769436.75816268750: 293.64545454513.7307692308359.631116274100: 428.22881355990.0128205128323.078553865250: 465.980649063318.858974359312.825233296350: 422.242424242471.423076923324.704444843500: 437.959710056700.269230769320.4356624750: 2.2758620689713.7307692308438.766495946100: 2.2689075630390.0128205128438.768384776250: 2.14426229508318.858974359438.802238173350: 2.20491803279471.423076923438.7857642500: 1.97974258231700.269230769438.84692138750: 2.2288135593213.7307692308438.779274224100: 2.4957264957390.0128205128438.706781222250: 2.68571428571318.858974359438.65518093350: 2.9756097561471.423076923438.576445919500: 2.95332122093700.269230769438.582499439Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm/rpc_call_message_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm/rpc_call_message_count.svg new file mode 100644 index 0000000..dcd4ed3 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm/rpc_call_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100000.0100000.0200000.0200000.0300000.0300000.0400000.0400000.0500000.0500000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 30101013.5198.064881866100: 42625288.589.0888692238250: 518273313.59.01923076923350: 514594463.512.2204152801500: 405731688.5106.94467442850: 30101013.5198.064881866100: 42625288.589.0888692238250: 518273313.59.01923076923350: 514594463.512.2204152801500: 405731688.5106.94467442850: 30101013.5198.064881866100: 42625288.589.0888692238250: 518273313.59.01923076923350: 514594463.512.2204152801500: 405898688.5106.79936379750: 013.5459.980769231100: 088.5459.980769231250: 0313.5459.980769231350: 0463.5459.980769231500: 0688.5459.980769231sent, msground-trip, msgreceived, msglost, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..8cb29be --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.01000.01000.02000.02000.03000.03000.04000.04000.05000.05000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 2956.7248933713.7307692308199.674346021100: 4197.8147753890.012820512890.4103191941250: 5122.30620466318.8589743599.01923076923350: 5088.60613766471.42307692311.9861432215500: 3978.57295907700.269230769109.71209906250: 835.83798320613.7307692308386.394621166100: 1634.3666207990.0128205128316.093142004250: 1511.73251534318.858974359326.889697822350: 1406.32593492471.423076923336.169563526500: 1494.82555206700.269230769328.37816607650: 13.780789007713.7307692308458.767525515100: 21.479933015490.0128205128458.089702346250: 47.4570639483318.858974359455.802707687350: 67.5143830744471.423076923454.036885979500: 98.2600914011700.269230769451.330071631throughput, msg/secRabbitMQ CPU, %latency, ms \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm/rpc_cast_message_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm/rpc_cast_message_count.svg new file mode 100644 index 0000000..cb84a39 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm/rpc_cast_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100000.0100000.0200000.0200000.0300000.0300000.0400000.0400000.0500000.0500000.0600000.0600000.0700000.0700000.0800000.0800000.0900000.0900000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 68570413.5134.083012835100: 94884488.59.01923076923250: 625096313.5162.888461279350: 578176463.5185.188349759500: 565903688.5191.02139603650: 013.5459.980769231100: 088.5459.980769231250: 0313.5459.980769231350: 0463.5459.980769231500: 0688.5459.98076923150: 68570413.5134.083012835100: 94884488.59.01923076923250: 625096313.5162.888461279350: 578176463.5185.188349759500: 565903688.5191.021396036sent, msglost, msgreceived, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cmsm/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..b468996 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.01000.01000.02000.02000.03000.03000.04000.04000.05000.05000.06000.06000.07000.07000.08000.08000.09000.09000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 6754.3856414213.7307692308134.978626088100: 9372.147859690.01282051289.01923076923250: 6185.02908188318.858974359162.374471083350: 5721.32899271471.423076923184.686422273500: 5570.66859368700.269230769191.93577923550: 47.167792976913.7307692308457.711186974100: 10.920666961990.0128205128459.455297285250: 40.391299595318.858974359458.03725288350: 61.0037660569471.423076923457.045438653500: 88.8494504051700.269230769455.70558221450: 1131.1106317413.7307692308405.554889667100: 1518.3280689190.0128205128386.923069747250: 1601.86197605318.858974359382.903651803350: 1451.02075533471.423076923390.161709399500: 1486.59362111700.269230769388.450042605throughput, msg/seclatency, msRabbitMQ CPU consumption, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cmsm/topology_cmsm.svg b/doc/source/test_results/mq/rabbitmq/cmsm/topology_cmsm.svg new file mode 100644 index 0000000..ea6800b --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cmsm/topology_cmsm.svg @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + Slave + + Master + + Slave + + client + + server + + + + + diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/index.rst b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/index.rst new file mode 100644 index 0000000..17e4a3b --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/index.rst @@ -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 diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/notify_message_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/notify_message_count.svg new file mode 100644 index 0000000..9f40d80 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/notify_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100000.0100000.0200000.0200000.0300000.0300000.0400000.0400000.0500000.0500000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 48881013.552.7536008355100: 48127788.559.0293363145250: 541306313.59.01923076923350: 537552463.512.1466847701500: 483554688.557.132369676350: 013.5459.980769231100: 088.5459.980769231250: 0313.5459.980769231350: 0463.5459.980769231500: 0688.5459.98076923150: 48881013.552.7536008355100: 48127788.559.0293363145250: 541306313.59.01923076923350: 537552463.512.1466847701500: 483554688.557.1323696763sent, msglost, msgreceived, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..94ce67a --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.01000.01000.02000.02000.03000.03000.04000.04000.05000.05000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 4830.8461543313.730769230853.2405685052100: 4761.0057075990.012820512859.1208876914250: 5356.06219878318.8589743599.01923076923350: 5319.34520428471.42307692312.110672151500: 4785.14982411700.26923076957.08803827250: 9.7001305988513.7307692308459.164052461100: 20.439110417190.0128205128458.259868252250: 38.981084389318.858974359456.698699469350: 51.7963007562471.423076923455.619703469500: 38.066679072700.269230769456.7756891750: 931.18996208513.7307692308381.577860094100: 804.48198194990.0128205128392.246224937250: 1249.10252393318.858974359354.81074413350: 1298.81828475471.423076923350.624852489500: 1420.20023423700.269230769340.404920635throughput, msg/seclatency, msRabbitMQ CPU consumption, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg new file mode 100644 index 0000000..872546e --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0600.0600.0700.0700.0800.0800.0900.0900.01000.01000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 542.51587301613.7307692308210.47560312100: 441.08196721390.0128205128253.274600057250: 848.565217391318.85897435981.341219022350: 902.253768279471.42307692358.6878852397500: 1020.92592593700.2692307698.6153846153850: 155.62280701813.7307692308373.721166973100: 154.80172413890.0128205128374.067614479250: 152.393162393318.858974359375.083882421350: 150.539119648471.423076923375.866176755500: 156.365217391700.269230769373.40791452550: 233.05128205113.7307692308341.051015513100: 208.59829059890.0128205128351.368704633250: 248.144144144318.858974359334.682737042350: 246.025396825471.423076923335.576720758500: 242.909090909700.269230769336.891614150: 44.105263157913.7307692308420.774851639100: 43.077586206990.0128205128421.208469395250: 40.7179487179318.858974359422.20409425350: 40.3891876751471.423076923422.342811602500: 41.9304347826700.269230769421.69249818250: 138.07142857113.7307692308381.126791221100: 111.63934426290.0128205128392.279538287250: 226.086956522318.858974359343.989541291350: 240.543082115471.423076923337.889927261500: 287.940740741700.269230769317.89097099250: 61.461538461513.7307692308413.451549162100: 53.017094017190.0128205128417.014595947250: 61.2612612613318.858974359413.536054074350: 62.5238095238471.423076923413.003334775500: 61.041322314700.269230769413.628855059Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg new file mode 100644 index 0000000..293b924 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0600.0600.0700.0700.0800.0800.0900.0900.01000.01000.01100.01100.01200.01200.01300.01300.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 659.77596330313.7307692308231.906524047100: 944.7590.0128205128142.291453927250: 1229.46365787318.85897435952.758264483350: 1297.56365241471.42307692331.3430301112500: 1369.8370867700.2692307698.6153846153850: 210.87612509513.7307692308373.070929562100: 201.3603603690.0128205128376.063328217250: 182.73720896318.858974359381.919703899350: 172.001203684471.423076923385.295828534500: 156.999407866700.269230769390.01340561550: 358.76864864913.7307692308326.563538847100: 399.87301587390.0128205128313.637551646250: 569.190713006318.858974359260.392640365350: 431.560510204471.423076923303.67286483500: 733.131858856700.269230769208.83847967350: 57.473470633113.7307692308421.311077316100: 50.900900900990.0128205128423.377936824250: 45.1685639552318.858974359425.180570437350: 44.0288627115471.423076923425.538969427500: 39.590388237700.269230769426.93472535650: 170.02233527913.7307692308385.918118315100: 243.66176470690.0128205128362.760911756250: 333.243092763318.858974359334.590496345350: 367.872456395471.423076923323.700687273500: 391.337256598700.269230769316.32177044350: 90.013857493913.7307692308411.078183527100: 95.75396825490.0128205128409.273105302250: 142.474628776318.858974359394.580976442350: 107.507312925471.423076923405.5770605500: 195.176943183700.269230769378.007811898Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg new file mode 100644 index 0000000..be8da8d --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0600.0600.0700.0700.0800.0800.0900.0900.01000.01000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 549.07936507913.7307692308219.280445801100: 727.39552238890.0128205128147.800561064250: 1061.91729323318.85897435913.7040328347350: 1074.61160856471.4230769238.61538461538500: 1050.91170245700.26923076918.115738272450: 177.52727272713.7307692308368.22096323100: 177.83185840790.0128205128368.098866895250: 171.710526316318.858974359370.552666477350: 163.939088744471.423076923373.667927989500: 148.81423444700.269230769379.73088301650: 169.8813.7307692308371.286451974100: 218.92741935590.0128205128351.625284219250: 209.327868852318.858974359355.473363798350: 209.62496192471.423076923355.354270954500: 250.323623932700.269230769339.03978934250: 53.827272727313.7307692308417.807393733100: 50.283185840790.0128205128419.228077792250: 46.8421052632318.858974359420.607470702350: 43.8741675321471.423076923421.797199384500: 39.8344722974700.269230769423.416553250: 136.95238095213.7307692308384.485830256100: 187.12686567290.0128205128364.372866638250: 292.812030075318.858974359322.007870195350: 301.968163924471.423076923318.337538791500: 297.53548948700.269230769320.11442240650: 44.87213.7307692308421.39720787100: 56.06451612990.0128205128416.910571466250: 55.737704918318.858974359417.041577136350: 57.1078163973471.423076923416.492353711500: 67.8059754738700.269230769412.203885469Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_call_message_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_call_message_count.svg new file mode 100644 index 0000000..9caaf30 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_call_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.040000.040000.080000.080000.0120000.0120000.0160000.0160000.0200000.0200000.0240000.0240000.0280000.0280000.0320000.0320000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 28687413.574.1198304624100: 33527488.59.01923076923250: 227804313.5153.57215327350: 238445463.5139.259436713500: 168374688.5233.50869541450: 28687413.574.1198304624100: 33527488.59.01923076923250: 227804313.5153.57215327350: 238445463.5139.259436713500: 168374688.5233.50869541450: 28687413.574.1198304624100: 33527488.59.01923076923250: 227830313.5153.537181873350: 238445463.5139.259436713500: 167229688.5235.04878191550: 013.5459.980769231100: 088.5459.980769231250: 0313.5459.980769231350: 0463.5459.980769231500: 0688.5459.980769231sent, msground-trip, msgreceived, msglost, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..b48ae44 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0400.0400.0800.0800.01200.01200.01600.01600.02000.02000.02400.02400.02800.02800.03200.03200.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 2814.8398195413.730769230872.4945243444100: 3275.9472427690.01282051289.01923076923250: 2253.54764384318.858974359149.761087058350: 2358.52092109471.423076923135.310637433500: 1650.20218379700.269230769232.81663610350: 1229.4207370513.7307692308290.740721724100: 1545.9833762390.0128205128247.163226664250: 1981.39157984318.858974359187.225645621350: 1901.1253663471.423076923198.274961273500: 2259.96835342700.269230769148.87722268150: 15.127601488813.7307692308457.898328356100: 29.26697593790.0128205128455.9519252250: 87.6776507374318.858974359447.911207258350: 146.717651854471.423076923439.783857285500: 238.211762088700.269230769427.188927742throughput, msg/secRabbitMQ CPU, %latency, ms \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_cast_message_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_cast_message_count.svg new file mode 100644 index 0000000..4534792 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_cast_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100000.0100000.0200000.0200000.0300000.0300000.0400000.0400000.0500000.0500000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 48172113.576.504051397100: 56649588.59.01923076923250: 557957313.515.8159538037350: 420309463.5125.391420218500: 497506688.563.938313156450: 013.5459.980769231100: 088.5459.980769231250: 0313.5459.980769231350: 13463.5459.970420507500: 0688.5459.98076923150: 48172113.576.504051397100: 56649588.59.01923076923250: 557957313.515.8159538037350: 420296463.5125.401768941500: 497506688.563.9383131564sent, msglost, msgreceived, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..95d5f10 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.01000.01000.02000.02000.03000.03000.04000.04000.05000.05000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 4760.2470662313.730769230876.8327799475100: 5602.7655122690.01282051289.01923076923250: 5520.67142567318.85897435915.626909692350: 4157.737011471.423076923125.328270407500: 4922.21101184700.26923076963.796448170950: 5.4565266025113.7307692308459.54157833100: 12.317720681290.0128205128458.989327012250: 12.7808437652318.858974359458.952050653350: 7.51274843424471.423076923459.376074891500: 11.7511188908700.269230769459.03493227950: 896.48663780713.7307692308387.823369013100: 1124.1548001590.0128205128369.498564142250: 1442.9556884318.858974359343.838568428350: 1448.17565922471.423076923343.418417689500: 1450.04956082700.269230769343.267589041throughput, msg/seclatency, msRabbitMQ CPU consumption, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/topology_cs1ss2_ha.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/topology_cs1ss2_ha.svg new file mode 100644 index 0000000..76cac35 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2-ha/topology_cs1ss2_ha.svg @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + Slave-1 + + Master + + Slave-2 + + client + + server + + + + + + + diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2/index.rst b/doc/source/test_results/mq/rabbitmq/cs1ss2/index.rst new file mode 100644 index 0000000..de92f45 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2/index.rst @@ -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 diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2/notify_message_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2/notify_message_count.svg new file mode 100644 index 0000000..e25ec70 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2/notify_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100000.0100000.0200000.0200000.0300000.0300000.0400000.0400000.0500000.0500000.0600000.0600000.0700000.0700000.0800000.0800000.0900000.0900000.01000000.01000000.01100000.01100000.01200000.01200000.01300000.01300000.01400000.01400000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 70425313.3846153846241.531297867100: 96592087.7435897436160.365839114250: 1228602310.82051282178.8855414984350: 1366766459.53846153836.0289931252500: 1453842682.6153846159.0192307692350: 013.3846153846459.980769231100: 087.7435897436459.980769231250: 0310.820512821459.980769231350: 0459.538461538459.980769231500: 0682.615384615459.98076923150: 70425313.3846153846241.531297867100: 96592087.7435897436160.365839114250: 1228602310.82051282178.8855414984350: 1366766459.53846153836.0289931252500: 1453842682.6153846159.01923076923sent, msglost, msgreceived, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..27683a8 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2/notify_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.01000.01000.02000.02000.03000.03000.04000.04000.05000.05000.06000.06000.07000.07000.08000.08000.09000.09000.010000.010000.011000.011000.012000.012000.013000.013000.014000.014000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 6932.9485457513.6153846154242.544019953100: 9532.5614296689.2564102564161.012854515250: 12147.6566206316.17948717978.9961204195350: 13517.9070099467.46153846236.0212175503500: 14378.862601694.3846153859.0192307692350: 4.9662298620213.6153846154459.825014306100: 8.0827564926789.2564102564459.727271273250: 15.7167686876316.179487179459.487847198350: 19.7926632476467.461538462459.36001569500: 21.653750583694.384615385459.30164676150: 750.09824561413.6153846154436.455580332100: 1548.2060439689.2564102564411.424676944250: 1773.80405219316.179487179404.349289433350: 1768.18357173467.461538462404.525563495500: 1799.22941462694.384615385403.551878617throughput, msg/seclatency, msRabbitMQ CPU consumption, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg new file mode 100644 index 0000000..d94b999 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_notify_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0600.0600.0700.0700.0800.0800.0900.0900.01000.01000.01100.01100.01200.01200.01300.01300.01400.01400.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 544.96666666713.7307692308271.88693289100: 1268.5714285790.012820512849.4841180496250: 1401.54101417318.8589743598.61538461538350: 1333.99920938471.42307692329.3746281923500: 1330.57646593700.26923076930.426622067350: 99.666666666713.7307692308408.751667152100: 102.91666666790.0128205128407.752766666250: 109.029268293318.858974359405.874034132350: 124.245346744471.423076923401.197311622500: 136.687715142700.269230769397.3730999850: 105.46491228113.7307692308406.969553195100: 176.71794871890.0128205128385.069647744250: 263.233769725318.858974359358.47866447350: 309.939015606471.423076923344.123620531500: 331.965233548700.269230769337.35377443850: 27.805555555613.7307692308430.838466783100: 29.120370370490.0128205128430.434353197250: 30.3642276423318.858974359430.052048694350: 34.2916992612471.423076923428.844924599500: 37.6051589205700.269230769427.82651953350: 144.04166666713.7307692308395.112833595100: 366.71428571490.0128205128326.67351441250: 438.964069291318.858974359304.467254742350: 416.024054321471.423076923311.517960004500: 411.145672613700.269230769313.01735011450: 33.921052631613.7307692308428.958844322100: 55.025641025690.0128205128422.472264752250: 78.9966335476318.858974359415.104684421350: 89.0818727491471.423076923412.004945855500: 93.3073187097700.269230769410.706238156Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg new file mode 100644 index 0000000..577182e --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_rpc_call_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0600.0600.0700.0700.0800.0800.0900.0900.01000.01000.01100.01100.01200.01200.01300.01300.01400.01400.01500.01500.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 262.20799389813.7307692308364.569542896100: 1050.5995612990.0128205128139.619985152250: 1422.55925526318.85897435933.4897674802350: 1462.22252073471.42307692322.1727590361500: 1509.73770492700.2692307698.6153846153850: 59.118972209313.7307692308422.516364629100: 76.575185185290.0128205128417.535632273250: 78.0258843891318.858974359417.121708332350: 77.9509090909471.423076923417.143100824500: 80.537037037700.269230769416.4052081850: 156.26023352813.7307692308394.799320616100: 305.54494047690.0128205128352.204333309250: 468.653333333318.858974359305.66507242350: 497.125396825471.423076923297.541218291500: 626.142857143700.269230769260.72902769950: 16.722760440913.7307692308434.613156986100: 20.773922558990.0128205128433.457250246250: 21.2313395639318.858974359433.326736733350: 20.7072727273471.423076923433.476267256500: 21.3703703704700.269230769433.28706746250: 75.146239511813.7307692308417.943349339100: 288.36342580690.0128205128357.106686767250: 416.979005607318.858974359320.409163618350: 424.480541736471.423076923318.268771325500: 429.237704918700.269230769316.91142327850: 47.218565471213.7307692308425.911874352100: 83.174742599790.0128205128415.65259904250: 122.800410932318.858974359404.346318081350: 127.90952381471.423076923402.888549214500: 161.920634921700.269230769393.184254141Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg new file mode 100644 index 0000000..f88726c --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2/rabbitmq_nodes_cpu_consumption_during_rpc_cast_load_test.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0600.0600.0700.0700.0800.0800.0900.0900.01000.01000.01100.01100.01200.01200.01300.01300.01400.01400.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 552.94827586213.7307692308273.764392879100: 1268.7388059790.012820512859.369318259250: 1377.1484375318.85897435926.8982389925350: 1438.18852459471.4230769238.61538461538500: 1285.97527728700.26923076954.206614370950: 110.33636363613.7307692308406.336437293100: 101.44247787690.0128205128409.000352533250: 114.666666667318.858974359405.039415885350: 119.307692308471.423076923403.649326192500: 143.128769293700.269230769396.51438745950: 114.9912280713.7307692308404.942202576100: 160.41228070290.0128205128391.337594022250: 236.957983193318.858974359368.410465334350: 277.939655172471.423076923356.135549346500: 283.661794118700.269230769354.42164233850: 31.881818181813.7307692308429.835306613100: 25.646017699190.0128205128431.703066598250: 29.1333333333318.858974359430.658538535350: 32.3162393162471.423076923429.705187887500: 39.5230967782700.269230769427.54657488750: 145.82758620713.7307692308395.70603218100: 367.80597014990.0128205128329.218602985250: 431.5234375318.858974359310.13381408350: 447.557377049471.423076923305.331295017500: 397.662868217700.269230769320.27580251550: 36.517543859613.7307692308428.446804375100: 50.105263157990.0128205128424.376982311250: 69.5630252101318.858974359418.54895278350: 80.8879310345471.423076923415.156893334500: 82.4777507003700.269230769414.680707227Slave 1 total, %Master total, %Slave 2 total, %Master sys, %Slave 1 sys, %Slave 2 sys, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_call_message_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_call_message_count.svg new file mode 100644 index 0000000..00c2829 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_call_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100000.0100000.0200000.0200000.0300000.0300000.0400000.0400000.0500000.0500000.0600000.0600000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 30310813.5261.077291732100: 53018388.5112.067674192250: 590627313.572.4035221608350: 612468463.558.0711691643500: 687218688.59.0192307692350: 30310813.5261.077291732100: 53018388.5112.067674192250: 590627313.572.4035221608350: 612468463.558.0711691643500: 687218688.59.0192307692350: 30310813.5261.077291732100: 53018388.5112.067674192250: 590627313.572.4035221608350: 612468463.558.0711691643500: 687218688.59.0192307692350: 013.5459.980769231100: 088.5459.980769231250: 0313.5459.980769231350: 0463.5459.980769231500: 0688.5459.980769231sent, msground-trip, msgreceived, msglost, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..2da73a0 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_call_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.01000.01000.02000.02000.03000.03000.04000.04000.05000.05000.06000.06000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 2992.1783205113.7307692308261.486585896100: 5219.0433272890.0128205128113.761516209250: 5838.75874972318.85897435972.6510296327350: 6057.50394388471.42307692358.1399798151500: 6797.96917018700.2692307699.0192307692350: 477.58719963513.7307692308428.29873995100: 1432.7196869590.0128205128364.937461731250: 1969.23847299318.858974359329.346047427350: 2037.29882665471.423076923324.831081115500: 2216.4175991700.269230769312.94875638450: 13.630325465113.7307692308459.076564992100: 16.189129087590.0128205128458.906819883250: 41.8902988181318.858974359457.201863777350: 56.8757933488471.423076923456.207760759500: 72.5585778852700.269230769455.167401136throughput, msg/secRabbitMQ CPU, %latency, ms \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_cast_message_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_cast_message_count.svg new file mode 100644 index 0000000..8eb8cb5 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_cast_message_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.0100000.0100000.0200000.0200000.0300000.0300000.0400000.0400000.0500000.0500000.0600000.0600000.0700000.0700000.0800000.0800000.0900000.0900000.01000000.01000000.01100000.01100000.01200000.01200000.01300000.01300000.01400000.01400000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 74075613.3846153846235.413722036100: 98164787.7435897436162.385382656250: 1265226310.82051282176.415780416350: 1362716459.53846153846.860783317500: 1487540682.6153846159.0192307692350: 013.3846153846459.980769231100: 087.7435897436459.980769231250: 0310.820512821459.980769231350: 0459.538461538459.980769231500: 0682.615384615459.98076923150: 74075613.3846153846235.413722036100: 98164787.7435897436162.385382656250: 1265226310.82051282176.415780416350: 1362716459.53846153846.860783317500: 1487540682.6153846159.01923076923sent, msglost, msgreceived, msg \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg new file mode 100644 index 0000000..931b880 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2/rpc_cast_throughput_latency_and_rabbitmq_cpu_utilization_depending_on_thread_count.svg @@ -0,0 +1,4 @@ + +Pygal0.00.01000.01000.02000.02000.03000.03000.04000.04000.05000.05000.06000.06000.07000.07000.08000.08000.09000.09000.010000.010000.011000.011000.012000.012000.013000.013000.014000.014000.0100.0100.0200.0200.0300.0300.0400.0400.0500.0500.0threads50: 7293.2904495313.6153846154236.437533002100: 9691.4332321789.2564102564162.933179612250: 12510.6366325316.17948717976.5230940603350: 13478.8482415467.46153846246.8468926359500: 14713.0082621694.3846153859.0192307692350: 65.007936313513.6153846154457.988241364100: 8.2645508900889.2564102564459.727456345250: 15.958130133316.179487179459.491644044350: 21.2703098744467.461538462459.328822906500: 23.7818246105694.384615385459.25184364250: 778.27586756913.6153846154436.126199429100: 1530.5935645589.2564102564413.067261379250: 1728.77308736316.179487179406.992953467350: 1835.43587207467.461538462403.723682313500: 1712.76584069694.384615385407.483584101throughput, msg/seclatency, msRabbitMQ CPU consumption, % \ No newline at end of file diff --git a/doc/source/test_results/mq/rabbitmq/cs1ss2/topology_cs1ss2.svg b/doc/source/test_results/mq/rabbitmq/cs1ss2/topology_cs1ss2.svg new file mode 100644 index 0000000..58e66f1 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/cs1ss2/topology_cs1ss2.svg @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + Slave-1 + + Master + + Slave-2 + + client + + server + + + + + diff --git a/doc/source/test_results/mq/rabbitmq/index.rst b/doc/source/test_results/mq/rabbitmq/index.rst new file mode 100644 index 0000000..a6e8776 --- /dev/null +++ b/doc/source/test_results/mq/rabbitmq/index.rst @@ -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