From 1facca3592b8cc9eaaceae5e8dd15471dd4813cc Mon Sep 17 00:00:00 2001
From: Ilya Shakhat <shakhat@gmail.com>
Date: Tue, 29 Mar 2016 16:16:55 +0300
Subject: [PATCH] DB performance report

Change-Id: Ic3da24e88d8cfc995f40eca52be14639d554289e
---
 doc/source/test_plans/db/plan.rst             |   2 +
 doc/source/test_results/db/mysql/index.rst    |  44 +++
 .../mysql-galera-direct/cpu_consumption.svg   |   4 +
 .../db/mysql/mysql-galera-direct/index.rst    | 169 ++++++++++
 .../db/mysql/mysql-galera-direct/latency.svg  |   4 +
 .../mysql/mysql-galera-direct/throughput.svg  |   4 +
 .../db/mysql/mysql-galera-direct/topology.svg | 213 +++++++++++++
 .../mysql-galera-haproxy/cpu_consumption.svg  |   4 +
 .../db/mysql/mysql-galera-haproxy/index.rst   | 170 ++++++++++
 .../db/mysql/mysql-galera-haproxy/latency.svg |   4 +
 .../mysql/mysql-galera-haproxy/throughput.svg |   4 +
 .../mysql/mysql-galera-haproxy/topology.svg   | 297 ++++++++++++++++++
 doc/source/test_results/index.rst             |   1 +
 13 files changed, 920 insertions(+)
 create mode 100644 doc/source/test_results/db/mysql/index.rst
 create mode 100644 doc/source/test_results/db/mysql/mysql-galera-direct/cpu_consumption.svg
 create mode 100644 doc/source/test_results/db/mysql/mysql-galera-direct/index.rst
 create mode 100644 doc/source/test_results/db/mysql/mysql-galera-direct/latency.svg
 create mode 100644 doc/source/test_results/db/mysql/mysql-galera-direct/throughput.svg
 create mode 100644 doc/source/test_results/db/mysql/mysql-galera-direct/topology.svg
 create mode 100644 doc/source/test_results/db/mysql/mysql-galera-haproxy/cpu_consumption.svg
 create mode 100644 doc/source/test_results/db/mysql/mysql-galera-haproxy/index.rst
 create mode 100644 doc/source/test_results/db/mysql/mysql-galera-haproxy/latency.svg
 create mode 100644 doc/source/test_results/db/mysql/mysql-galera-haproxy/throughput.svg
 create mode 100644 doc/source/test_results/db/mysql/mysql-galera-haproxy/topology.svg

diff --git a/doc/source/test_plans/db/plan.rst b/doc/source/test_plans/db/plan.rst
index 1639af0..78c7bd8 100644
--- a/doc/source/test_plans/db/plan.rst
+++ b/doc/source/test_plans/db/plan.rst
@@ -1,3 +1,5 @@
+.. _db_performance:
+
 ======================
 SQL Database Test Plan
 ======================
diff --git a/doc/source/test_results/db/mysql/index.rst b/doc/source/test_results/db/mysql/index.rst
new file mode 100644
index 0000000..298053a
--- /dev/null
+++ b/doc/source/test_results/db/mysql/index.rst
@@ -0,0 +1,44 @@
+.. raw:: pdf
+
+    PageBreak oneColumn
+
+===============================
+SQL Database performance report
+===============================
+
+Environment description
+^^^^^^^^^^^^^^^^^^^^^^^
+
+This report is generated for :ref:`db_performance` test plan with
+`Sysbench`_ tool. The data is collected in
+:ref:`intel_mirantis_performance_lab`.
+
+
+Software
+~~~~~~~~
+
++-----------------+--------------------------------------------+
+| Parameter       | Value                                      |
++-----------------+--------------------------------------------+
+| OS              | Ubuntu 14.04.3                             |
++-----------------+--------------------------------------------+
+| DB              | MySQL 5.6.28                               |
++-----------------+--------------------------------------------+
+| HA              | Galera                                     |
++-----------------+--------------------------------------------+
+
+
+Reports
+^^^^^^^
+
+.. toctree::
+    :maxdepth: 2
+
+    mysql-galera-direct/index
+    mysql-galera-haproxy/index
+
+
+
+.. references:
+
+.. _Sysbench: https://github.com/akopytov/sysbench
diff --git a/doc/source/test_results/db/mysql/mysql-galera-direct/cpu_consumption.svg b/doc/source/test_results/db/mysql/mysql-galera-direct/cpu_consumption.svg
new file mode 100644
index 0000000..575bde2
--- /dev/null
+++ b/doc/source/test_results/db/mysql/mysql-galera-direct/cpu_consumption.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" class="pygal-chart" id="chart-aced4ba0-e740-40f0-af25-a4edaac2fe57" viewBox="0 0 800 600" xmlns="http://www.w3.org/2000/svg"><!--Generated with pygal 2.1.1 (etree) ©Kozea 2011-2015 on 2016-03-29--><!--http://pygal.org--><!--http://github.com/Kozea/pygal--><defs><style type="text/css">#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57{-webkit-user-select:none;-webkit-font-smoothing:antialiased;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .title{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .legends .legend text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis text.major{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .text-overlay text.value{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .text-overlay text.label{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .tooltip{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 text.no_data{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:64px}
+#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57{background-color:#f9f9fa}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 path,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 line,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 rect,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 circle{-webkit-transition:150ms;-moz-transition:150ms;transition:150ms}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .graph &gt; .background{fill:#f9f9fa}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .plot &gt; .background{fill:#ffffff}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .graph{fill:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 text.no_data{fill:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .title{fill:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .legends .legend text{fill:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .legends .legend:hover text{fill:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis .line{stroke:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis .guide.line{stroke:rgba(0,0,0,0.5)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis .major.line{stroke:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis text.major{fill:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis.y .guides:hover .guide.line,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .line-graph .axis.x .guides:hover .guide.line,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .stackedline-graph .axis.x .guides:hover .guide.line,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .xy-graph .axis.x .guides:hover .guide.line{stroke:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis .guides:hover text{fill:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .reactive{fill-opacity:.6}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .ci{stroke:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .reactive.active,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .active .reactive{fill-opacity:.9;stroke-width:4}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .series text{fill:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .tooltip rect{fill:#ffffff;stroke:rgba(0,0,0,0.9);-webkit-transition:opacity 150ms;-moz-transition:opacity 150ms;transition:opacity 150ms}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .tooltip .legend{font-size:.8em;fill:rgba(0,0,0,0.5)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .tooltip .x_label{font-size:.6em;fill:rgba(0,0,0,0.9)}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .tooltip .xlink{font-size:.5em;text-decoration:underline}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .tooltip .value{font-size:1.5em}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .map-element{fill:#ffffff;stroke:rgba(0,0,0,0.5) !important}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .map-element .reactive{fill-opacity:inherit}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .color-0,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .color-0 a:visited{stroke:#d94e4c;fill:#d94e4c}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .color-1,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .color-1 a:visited{stroke:#e5884f;fill:#e5884f}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .text-overlay .color-0 text{fill:black}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .text-overlay .color-1 text{fill:black}
+#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 text.no_data{text-anchor:middle}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .guide.line{fill:none}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .centered{text-anchor:middle}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .title{text-anchor:middle}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .legends .legend text{fill-opacity:1}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis.x text{text-anchor:middle}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis.x:not(.web) text[transform]{text-anchor:start}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis.x:not(.web) text[transform].backwards{text-anchor:end}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis.y text{text-anchor:end}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis.y text[transform].backwards{text-anchor:start}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis.y2 text{text-anchor:start}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis.y2 text[transform].backwards{text-anchor:end}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis .guide.line{stroke-dasharray:4,4}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis .major.guide.line{stroke-dasharray:6,6}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .horizontal .axis.y .guide.line,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .horizontal .axis.y2 .guide.line,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .vertical .axis.x .guide.line{opacity:0}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .horizontal .axis.always_show .guide.line,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .vertical .axis.always_show .guide.line{opacity:1 !important}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis.y .guides:hover .guide.line,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis.y2 .guides:hover .guide.line,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis.x .guides:hover .guide.line{opacity:1}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .axis .guides:hover text{opacity:1}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .nofill{fill:none}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .subtle-fill{fill-opacity:.2}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .dot{stroke-width:1px;fill-opacity:1}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .dot.active{stroke-width:5px}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .dot.negative{fill:transparent}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 text,#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 tspan{stroke:none !important}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .series text.active{opacity:1}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .tooltip rect{fill-opacity:.95;stroke-width:.5}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .tooltip text{fill-opacity:1}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .showable{visibility:hidden}#chart-aced4ba0-e740-40f0-af25-a4edaac2fe57 .showable.shown{visibility:visible}</style><script type="text/javascript">window.pygal = window.pygal || {};window.pygal.config = window.pygal.config || {};window.pygal.config['aced4ba0-e740-40f0-af25-a4edaac2fe57'] = {"dynamic_print_values": false, "y_labels_major_every": null, "y_labels_major_count": null, "inner_radius": 0, "print_values": false, "xrange": null, "box_mode": "extremes", "title": null, "legend_at_bottom_columns": null, "height": 600, "legend_at_bottom": true, "show_legend": true, "show_dots": true, "explicit_size": false, "y_labels_major": null, "show_minor_x_labels": true, "width": 800, "force_uri_protocol": null, "half_pie": false, "style": {"major_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_size": 14, "legend_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "colors": ["#d94e4c", "#e5884f", "#39929a", "#e27876", "#245d62", "#f0bb9b", "#c82d2a", "#234547"], "legend_font_size": 14, "no_data_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "major_label_font_size": 10, "ci_colors": [], "label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "label_font_size": 10, "value_font_size": 16, "font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "opacity": ".6", "foreground": "rgba(0, 0, 0, 0.9)", "plot_background": "#ffffff", "value_label_font_size": 10, "value_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "background": "#f9f9fa", "no_data_font_size": 64, "value_colors": [], "guide_stroke_dasharray": "4,4", "transition": "150ms", "foreground_subtle": "rgba(0, 0, 0, 0.5)", "value_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_size": 16, "major_guide_stroke_dasharray": "6,6", "opacity_hover": ".9", "foreground_strong": "rgba(0, 0, 0, 0.9)"}, "x_label_rotation": 0, "missing_value_fill_truncation": "x", "legends": ["queries per sec", "CPU, %"], "zero": 0, "margin_right": null, "interpolation_parameters": {}, "x_labels_major": null, "rounded_bars": null, "show_y_labels": true, "dots_size": 2.5, "show_y_guides": true, "show_minor_y_labels": true, "x_labels": null, "y_title": null, "order_min": null, "fill": false, "disable_xml_declaration": false, "strict": false, "css": ["file://style.css", "file://graph.css"], "tooltip_fancy_mode": true, "defs": [], "show_only_major_dots": false, "y_label_rotation": 0, "human_readable": false, "min_scale": 4, "show_x_guides": false, "spacing": 10, "x_labels_major_count": null, "pretty_print": false, "tooltip_border_radius": 0, "interpolate": null, "js": ["//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js"], "y_labels": null, "stroke_style": null, "print_labels": false, "interpolation_precision": 250, "x_title": "threads", "value_formatter": null, "logarithmic": false, "max_scale": 16, "print_zeroes": true, "no_data_text": "No data", "truncate_legend": null, "x_labels_major_every": null, "secondary_range": null, "legend_box_size": 12, "no_prefix": false, "stroke": true, "x_value_formatter": null, "include_x_axis": true, "range": null, "truncate_label": null, "margin_top": null, "margin_left": null, "show_x_labels": true, "margin_bottom": null, "inverse_y_axis": false, "margin": 20, "stack_from_top": false, "print_values_position": "center"}</script><script type="text/javascript" xlink:href="//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js" /></defs><title>Pygal</title><g class="graph xy-graph vertical"><rect class="background" height="600" width="800" x="0" y="0" /><g class="plot" transform="translate(72, 20)"><rect class="background" height="469.0" width="708.0" x="0" y="0" /><g class="axis y"><g class="guides"><path class="major line" d="M0.000000 459.980769 h708.000000" /><text class="major" x="-5" y="463.480769231">0.0</text><title>0.0</title></g><g class="guides"><path class="guide line" d="M0.000000 399.169204 h708.000000" /><text class="" x="-5" y="402.669204277">10000.0</text><title>10000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 338.357639 h708.000000" /><text class="" x="-5" y="341.857639323">20000.0</text><title>20000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 277.546074 h708.000000" /><text class="" x="-5" y="281.046074368">30000.0</text><title>30000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 216.734509 h708.000000" /><text class="" x="-5" y="220.234509414">40000.0</text><title>40000.0</title></g><g class="guides"><path class="major guide line" d="M0.000000 155.922944 h708.000000" /><text class="major" x="-5" y="159.42294446">50000.0</text><title>50000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 95.111380 h708.000000" /><text class="" x="-5" y="98.6113795061">60000.0</text><title>60000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 34.299815 h708.000000" /><text class="" x="-5" y="37.799814552">70000.0</text><title>70000.0</title></g></g><g class="axis x"><path class="line" d="M0.000000 0.000000 v469.000000" /><g class="guides"><path class="guide line" d="M13.615385 0.000000 v469.000000" /><text class="" x="13.6153846154" y="484.0">20.0</text><title>20.0</title></g><g class="guides"><path class="guide line" d="M89.256410 0.000000 v469.000000" /><text class="" x="89.2564102564" y="484.0">40.0</text><title>40.0</title></g><g class="guides"><path class="guide line" d="M164.897436 0.000000 v469.000000" /><text class="" x="164.897435897" y="484.0">60.0</text><title>60.0</title></g><g class="guides"><path class="guide line" d="M240.538462 0.000000 v469.000000" /><text class="" x="240.538461538" y="484.0">80.0</text><title>80.0</title></g><g class="guides"><path class="guide line" d="M316.179487 0.000000 v469.000000" /><text class="" x="316.179487179" y="484.0">100.0</text><title>100.0</title></g><g class="guides"><path class="guide line" d="M391.820513 0.000000 v469.000000" /><text class="" x="391.820512821" y="484.0">120.0</text><title>120.0</title></g><g class="guides"><path class="guide line" d="M467.461538 0.000000 v469.000000" /><text class="" x="467.461538462" y="484.0">140.0</text><title>140.0</title></g><g class="guides"><path class="guide line" d="M543.102564 0.000000 v469.000000" /><text class="" x="543.102564103" y="484.0">160.0</text><title>160.0</title></g><g class="guides"><path class="guide line" d="M618.743590 0.000000 v469.000000" /><text class="" x="618.743589744" y="484.0">180.0</text><title>180.0</title></g><g class="guides"><path class="guide line" d="M694.384615 0.000000 v469.000000" /><text class="" x="694.384615385" y="484.0">200.0</text><title>200.0</title></g></g><g class="series serie-0 color-0"><path class="line reactive nofill" d="M13.615385 39.695321 L89.256410 9.019231 164.897436 47.013384 240.538462 63.379500 391.820513 101.830348 543.102564 112.217470 694.384615 149.106475" /></g><g class="series serie-1 color-1"><path class="line reactive nofill" d="M13.615385 452.395972 L89.256410 448.168325 164.897436 445.978757 240.538462 445.299761 391.820513 445.246326 543.102564 445.258486 694.384615 445.836293" /></g></g><g class="titles"><text class="title" x="426.0" y="535.0">threads</text></g><g class="plot overlay" transform="translate(72, 20)"><g class="series serie-0 color-0"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.6153846154" cy="39.6953206525" r="2.5" /><desc class="value">20: 69112.75</desc><desc class="x ">13.6153846154</desc><desc class="y ">39.6953206525</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="89.2564102564" cy="9.01923076923" r="2.5" /><desc class="value">40: 74157.2</desc><desc class="x ">89.2564102564</desc><desc class="y ">9.01923076923</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="164.897435897" cy="47.0133843791" r="2.5" /><desc class="value">60: 67909.35</desc><desc class="x ">164.897435897</desc><desc class="y ">47.0133843791</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="240.538461538" cy="63.3794995026" r="2.5" /><desc class="value">80: 65218.0666667</desc><desc class="x ">240.538461538</desc><desc class="y ">63.3794995026</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="391.820512821" cy="101.830347965" r="2.5" /><desc class="value">120: 58895.1166667</desc><desc class="x left">391.820512821</desc><desc class="y left">101.830347965</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="543.102564103" cy="112.217470022" r="2.5" /><desc class="value">160: 57187.0333333</desc><desc class="x left">543.102564103</desc><desc class="y left">112.217470022</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="694.384615385" cy="149.106474792" r="2.5" /><desc class="value">200: 51120.9166667</desc><desc class="x left">694.384615385</desc><desc class="y left">149.106474792</desc></g></g><g class="series serie-1 color-1"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.6153846154" cy="452.395972024" r="2.5" /><desc class="value">20: 1247.26229508</desc><desc class="x top">13.6153846154</desc><desc class="y top">452.395972024</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="89.2564102564" cy="448.168325444" r="2.5" /><desc class="value">40: 1942.46666667</desc><desc class="x top">89.2564102564</desc><desc class="y top">448.168325444</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="164.897435897" cy="445.978756863" r="2.5" /><desc class="value">60: 2302.52459016</desc><desc class="x top">164.897435897</desc><desc class="y top">445.978756863</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="240.538461538" cy="445.299760849" r="2.5" /><desc class="value">80: 2414.18032787</desc><desc class="x top">240.538461538</desc><desc class="y top">445.299760849</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="391.820512821" cy="445.246326425" r="2.5" /><desc class="value">120: 2422.96721311</desc><desc class="x left top">391.820512821</desc><desc class="y left top">445.246326425</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="543.102564103" cy="445.258485522" r="2.5" /><desc class="value">160: 2420.96774194</desc><desc class="x left top">543.102564103</desc><desc class="y left top">445.258485522</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="694.384615385" cy="445.836293472" r="2.5" /><desc class="value">200: 2325.9516129</desc><desc class="x left top">694.384615385</desc><desc class="y left top">445.836293472</desc></g></g></g><g class="plot text-overlay" transform="translate(72, 20)"><g class="series serie-0 color-0" /><g class="series serie-1 color-1" /></g><g class="plot tooltip-overlay" transform="translate(72, 20)"><g class="tooltip" style="opacity: 0" transform="translate(0 0)"><rect class="tooltip-box" height="0" rx="0" ry="0" width="0" /><g class="text" /></g></g><g class="legends" transform="translate(82, 555)"><g class="legend reactive activate-serie" id="activate-serie-0"><rect class="color-0 reactive" height="12" width="12" x="0.0" y="1.0" /><text x="17.0" y="11.2">queries per sec</text></g><g class="legend reactive activate-serie" id="activate-serie-1"><rect class="color-1 reactive" height="12" width="12" x="354.0" y="1.0" /><text x="371.0" y="11.2">CPU, %</text></g></g></g></svg>
\ No newline at end of file
diff --git a/doc/source/test_results/db/mysql/mysql-galera-direct/index.rst b/doc/source/test_results/db/mysql/mysql-galera-direct/index.rst
new file mode 100644
index 0000000..887e33b
--- /dev/null
+++ b/doc/source/test_results/db/mysql/mysql-galera-direct/index.rst
@@ -0,0 +1,169 @@
+MySQL + Galera performance report
+---------------------------------
+
+This scenario is executed with `Sysbench`_ tool. There is one instance of
+tool per tester node, each running in N threads. The tool is configured
+to point to one of DB nodes in Galera cluster directly.
+
+.. image:: topology.*
+
+Throughput
+^^^^^^^^^^
+
+The following chart shows the number of queries, read queries and transactions
+depending on total thread count.
+
+.. image:: throughput.*
+
+
+.. list-table:: Throughput
+   :header-rows: 1
+
+   *
+     - threads
+     - queries per sec
+     - read queries per sec
+     - transactions per sec
+   *
+     - 20
+     - 69112.8
+     - 46075.2
+     - 3291.1
+   *
+     - 40
+     - 74157.2
+     - 49438.2
+     - 3531.3
+   *
+     - 60
+     - 67909.4
+     - 45273.0
+     - 3233.8
+   *
+     - 80
+     - 65218.1
+     - 43478.9
+     - 3105.6
+   *
+     - 120
+     - 58895.1
+     - 39263.7
+     - 2804.4
+   *
+     - 160
+     - 57187.0
+     - 38125.3
+     - 2723.0
+   *
+     - 200
+     - 51120.9
+     - 34081.6
+     - 2434.0
+
+
+
+Throughput and server CPU consumption
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The following chart shows how DB server CPU consumption depends on number
+of concurrent threads and throughput.
+
+.. image:: cpu_consumption.*
+
+
+.. list-table:: CPU consumption
+   :header-rows: 1
+
+   *
+     - threads
+     - queries per sec
+     - CPU, %
+   *
+     - 20
+     - 69112.8
+     - 1247.3
+   *
+     - 40
+     - 74157.2
+     - 1942.5
+   *
+     - 60
+     - 67909.4
+     - 2302.5
+   *
+     - 80
+     - 65218.1
+     - 2414.2
+   *
+     - 120
+     - 58895.1
+     - 2423.0
+   *
+     - 160
+     - 57187.0
+     - 2421.0
+   *
+     - 200
+     - 51120.9
+     - 2326.0
+
+
+
+Operation latency
+^^^^^^^^^^^^^^^^^
+
+The following chart shows how operation latency depends on number of 
+concurrent threads.
+
+.. image:: latency.*
+
+
+.. list-table:: Latency
+   :header-rows: 1
+
+   *
+     - threads
+     - min latency, ms
+     - avg latency, ms
+     - max latency, ms
+   *
+     - 20
+     - 3.2
+     - 6.1
+     - 19.6
+   *
+     - 40
+     - 3.5
+     - 11.4
+     - 42.9
+   *
+     - 60
+     - 4.3
+     - 18.7
+     - 56.5
+   *
+     - 80
+     - 4.1
+     - 25.9
+     - 155.9
+   *
+     - 120
+     - 4.3
+     - 42.8
+     - 572.9
+   *
+     - 160
+     - 5.2
+     - 58.8
+     - 485.3
+   *
+     - 200
+     - 6.6
+     - 82.2
+     - 745.9
+
+
+
+.. references:
+
+.. _Sysbench: https://github.com/akopytov/sysbench
diff --git a/doc/source/test_results/db/mysql/mysql-galera-direct/latency.svg b/doc/source/test_results/db/mysql/mysql-galera-direct/latency.svg
new file mode 100644
index 0000000..e1245e2
--- /dev/null
+++ b/doc/source/test_results/db/mysql/mysql-galera-direct/latency.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" class="pygal-chart" id="chart-c477a94b-61ff-4c37-876d-da0e3b7883e7" viewBox="0 0 800 600" xmlns="http://www.w3.org/2000/svg"><!--Generated with pygal 2.1.1 (etree) ©Kozea 2011-2015 on 2016-03-29--><!--http://pygal.org--><!--http://github.com/Kozea/pygal--><defs><style type="text/css">#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7{-webkit-user-select:none;-webkit-font-smoothing:antialiased;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .title{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .legends .legend text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis text.major{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .text-overlay text.value{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .text-overlay text.label{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .tooltip{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 text.no_data{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:64px}
+#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7{background-color:#f9f9fa}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 path,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 line,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 rect,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 circle{-webkit-transition:150ms;-moz-transition:150ms;transition:150ms}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .graph &gt; .background{fill:#f9f9fa}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .plot &gt; .background{fill:#ffffff}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .graph{fill:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 text.no_data{fill:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .title{fill:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .legends .legend text{fill:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .legends .legend:hover text{fill:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis .line{stroke:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis .guide.line{stroke:rgba(0,0,0,0.5)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis .major.line{stroke:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis text.major{fill:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis.y .guides:hover .guide.line,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .line-graph .axis.x .guides:hover .guide.line,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .stackedline-graph .axis.x .guides:hover .guide.line,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .xy-graph .axis.x .guides:hover .guide.line{stroke:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis .guides:hover text{fill:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .reactive{fill-opacity:.6}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .ci{stroke:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .reactive.active,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .active .reactive{fill-opacity:.9;stroke-width:4}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .series text{fill:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .tooltip rect{fill:#ffffff;stroke:rgba(0,0,0,0.9);-webkit-transition:opacity 150ms;-moz-transition:opacity 150ms;transition:opacity 150ms}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .tooltip .legend{font-size:.8em;fill:rgba(0,0,0,0.5)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .tooltip .x_label{font-size:.6em;fill:rgba(0,0,0,0.9)}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .tooltip .xlink{font-size:.5em;text-decoration:underline}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .tooltip .value{font-size:1.5em}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .map-element{fill:#ffffff;stroke:rgba(0,0,0,0.5) !important}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .map-element .reactive{fill-opacity:inherit}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .color-0,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .color-0 a:visited{stroke:#d94e4c;fill:#d94e4c}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .color-1,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .color-1 a:visited{stroke:#e5884f;fill:#e5884f}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .color-2,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .color-2 a:visited{stroke:#39929a;fill:#39929a}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .text-overlay .color-0 text{fill:black}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .text-overlay .color-1 text{fill:black}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .text-overlay .color-2 text{fill:black}
+#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 text.no_data{text-anchor:middle}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .guide.line{fill:none}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .centered{text-anchor:middle}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .title{text-anchor:middle}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .legends .legend text{fill-opacity:1}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis.x text{text-anchor:middle}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis.x:not(.web) text[transform]{text-anchor:start}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis.x:not(.web) text[transform].backwards{text-anchor:end}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis.y text{text-anchor:end}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis.y text[transform].backwards{text-anchor:start}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis.y2 text{text-anchor:start}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis.y2 text[transform].backwards{text-anchor:end}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis .guide.line{stroke-dasharray:4,4}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis .major.guide.line{stroke-dasharray:6,6}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .horizontal .axis.y .guide.line,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .horizontal .axis.y2 .guide.line,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .vertical .axis.x .guide.line{opacity:0}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .horizontal .axis.always_show .guide.line,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .vertical .axis.always_show .guide.line{opacity:1 !important}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis.y .guides:hover .guide.line,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis.y2 .guides:hover .guide.line,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis.x .guides:hover .guide.line{opacity:1}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .axis .guides:hover text{opacity:1}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .nofill{fill:none}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .subtle-fill{fill-opacity:.2}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .dot{stroke-width:1px;fill-opacity:1}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .dot.active{stroke-width:5px}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .dot.negative{fill:transparent}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 text,#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 tspan{stroke:none !important}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .series text.active{opacity:1}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .tooltip rect{fill-opacity:.95;stroke-width:.5}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .tooltip text{fill-opacity:1}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .showable{visibility:hidden}#chart-c477a94b-61ff-4c37-876d-da0e3b7883e7 .showable.shown{visibility:visible}</style><script type="text/javascript">window.pygal = window.pygal || {};window.pygal.config = window.pygal.config || {};window.pygal.config['c477a94b-61ff-4c37-876d-da0e3b7883e7'] = {"dynamic_print_values": false, "y_labels_major_every": null, "y_labels_major_count": null, "inner_radius": 0, "print_values": false, "xrange": null, "box_mode": "extremes", "title": null, "legend_at_bottom_columns": null, "height": 600, "legend_at_bottom": true, "show_legend": true, "show_dots": true, "explicit_size": false, "y_labels_major": null, "show_minor_x_labels": true, "width": 800, "force_uri_protocol": null, "half_pie": false, "style": {"major_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_size": 14, "legend_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "colors": ["#d94e4c", "#e5884f", "#39929a", "#e27876", "#245d62", "#f0bb9b", "#c82d2a", "#234547"], "legend_font_size": 14, "no_data_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "major_label_font_size": 10, "ci_colors": [], "label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "label_font_size": 10, "value_font_size": 16, "font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "opacity": ".6", "foreground": "rgba(0, 0, 0, 0.9)", "plot_background": "#ffffff", "value_label_font_size": 10, "value_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "background": "#f9f9fa", "no_data_font_size": 64, "value_colors": [], "guide_stroke_dasharray": "4,4", "transition": "150ms", "foreground_subtle": "rgba(0, 0, 0, 0.5)", "value_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_size": 16, "major_guide_stroke_dasharray": "6,6", "opacity_hover": ".9", "foreground_strong": "rgba(0, 0, 0, 0.9)"}, "x_label_rotation": 0, "missing_value_fill_truncation": "x", "legends": ["min latency, ms", "max latency, ms", "avg latency, ms"], "zero": 0, "margin_right": null, "interpolation_parameters": {}, "x_labels_major": null, "rounded_bars": null, "show_y_labels": true, "dots_size": 2.5, "show_y_guides": true, "show_minor_y_labels": true, "x_labels": null, "y_title": null, "order_min": null, "fill": false, "disable_xml_declaration": false, "strict": false, "css": ["file://style.css", "file://graph.css"], "tooltip_fancy_mode": true, "defs": [], "show_only_major_dots": false, "y_label_rotation": 0, "human_readable": false, "min_scale": 4, "show_x_guides": false, "spacing": 10, "x_labels_major_count": null, "pretty_print": false, "tooltip_border_radius": 0, "interpolate": null, "js": ["//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js"], "y_labels": null, "stroke_style": null, "print_labels": false, "interpolation_precision": 250, "x_title": "threads", "value_formatter": null, "logarithmic": false, "max_scale": 16, "print_zeroes": true, "no_data_text": "No data", "truncate_legend": null, "x_labels_major_every": null, "secondary_range": null, "legend_box_size": 12, "no_prefix": false, "stroke": true, "x_value_formatter": null, "include_x_axis": true, "range": null, "truncate_label": null, "margin_top": null, "margin_left": null, "show_x_labels": true, "margin_bottom": null, "inverse_y_axis": false, "margin": 20, "stack_from_top": false, "print_values_position": "center"}</script><script type="text/javascript" xlink:href="//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js" /></defs><title>Pygal</title><g class="graph xy-graph vertical"><rect class="background" height="600" width="800" x="0" y="0" /><g class="plot" transform="translate(60, 20)"><rect class="background" height="469.0" width="720.0" x="0" y="0" /><g class="axis y"><g class="guides"><path class="major line" d="M0.000000 459.980769 h720.000000" /><text class="major" x="-5" y="463.480769231">0.0</text><title>0.0</title></g><g class="guides"><path class="guide line" d="M0.000000 399.519625 h720.000000" /><text class="" x="-5" y="403.019624734">100.0</text><title>100.0</title></g><g class="guides"><path class="guide line" d="M0.000000 339.058480 h720.000000" /><text class="" x="-5" y="342.558480236">200.0</text><title>200.0</title></g><g class="guides"><path class="guide line" d="M0.000000 278.597336 h720.000000" /><text class="" x="-5" y="282.097335739">300.0</text><title>300.0</title></g><g class="guides"><path class="guide line" d="M0.000000 218.136191 h720.000000" /><text class="" x="-5" y="221.636191242">400.0</text><title>400.0</title></g><g class="guides"><path class="major guide line" d="M0.000000 157.675047 h720.000000" /><text class="major" x="-5" y="161.175046745">500.0</text><title>500.0</title></g><g class="guides"><path class="guide line" d="M0.000000 97.213902 h720.000000" /><text class="" x="-5" y="100.713902247">600.0</text><title>600.0</title></g><g class="guides"><path class="guide line" d="M0.000000 36.752758 h720.000000" /><text class="" x="-5" y="40.2527577501">700.0</text><title>700.0</title></g></g><g class="axis x"><path class="line" d="M0.000000 0.000000 v469.000000" /><g class="guides"><path class="guide line" d="M13.846154 0.000000 v469.000000" /><text class="" x="13.8461538462" y="484.0">20.0</text><title>20.0</title></g><g class="guides"><path class="guide line" d="M90.769231 0.000000 v469.000000" /><text class="" x="90.7692307692" y="484.0">40.0</text><title>40.0</title></g><g class="guides"><path class="guide line" d="M167.692308 0.000000 v469.000000" /><text class="" x="167.692307692" y="484.0">60.0</text><title>60.0</title></g><g class="guides"><path class="guide line" d="M244.615385 0.000000 v469.000000" /><text class="" x="244.615384615" y="484.0">80.0</text><title>80.0</title></g><g class="guides"><path class="guide line" d="M321.538462 0.000000 v469.000000" /><text class="" x="321.538461538" y="484.0">100.0</text><title>100.0</title></g><g class="guides"><path class="guide line" d="M398.461538 0.000000 v469.000000" /><text class="" x="398.461538462" y="484.0">120.0</text><title>120.0</title></g><g class="guides"><path class="guide line" d="M475.384615 0.000000 v469.000000" /><text class="" x="475.384615385" y="484.0">140.0</text><title>140.0</title></g><g class="guides"><path class="guide line" d="M552.307692 0.000000 v469.000000" /><text class="" x="552.307692308" y="484.0">160.0</text><title>160.0</title></g><g class="guides"><path class="guide line" d="M629.230769 0.000000 v469.000000" /><text class="" x="629.230769231" y="484.0">180.0</text><title>180.0</title></g><g class="guides"><path class="guide line" d="M706.153846 0.000000 v469.000000" /><text class="" x="706.153846154" y="484.0">200.0</text><title>200.0</title></g></g><g class="series serie-0 color-0"><path class="line reactive nofill" d="M13.846154 458.052059 L90.769231 457.864629 167.692308 457.405124 244.615385 457.501862 398.461538 457.399078 552.307692 456.818651 706.153846 455.978241" /></g><g class="series serie-1 color-1"><path class="line reactive nofill" d="M13.846154 448.160615 L90.769231 434.036892 167.692308 425.802084 244.615385 365.697661 398.461538 113.604919 552.307692 166.556789 706.153846 9.019231" /></g><g class="series serie-2 color-2"><path class="line reactive nofill" d="M13.846154 456.306243 L90.769231 453.103314 167.692308 448.660931 244.615385 444.301683 398.461538 434.077703 552.307692 424.432639 706.153846 410.281708" /></g></g><g class="titles"><text class="title" x="420.0" y="535.0">threads</text></g><g class="plot overlay" transform="translate(60, 20)"><g class="series serie-0 color-0"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.8461538462" cy="458.052058721" r="2.5" /><desc class="value">20: 3.19</desc><desc class="x top">13.8461538462</desc><desc class="y top">458.052058721</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="90.7692307692" cy="457.864629173" r="2.5" /><desc class="value">40: 3.5</desc><desc class="x top">90.7692307692</desc><desc class="y top">457.864629173</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="167.692307692" cy="457.405124475" r="2.5" /><desc class="value">60: 4.26</desc><desc class="x top">167.692307692</desc><desc class="y top">457.405124475</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="244.615384615" cy="457.501862306" r="2.5" /><desc class="value">80: 4.1</desc><desc class="x top">244.615384615</desc><desc class="y top">457.501862306</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="398.461538462" cy="457.399078361" r="2.5" /><desc class="value">120: 4.27</desc><desc class="x left top">398.461538462</desc><desc class="y left top">457.399078361</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="552.307692308" cy="456.818651374" r="2.5" /><desc class="value">160: 5.23</desc><desc class="x left top">552.307692308</desc><desc class="y left top">456.818651374</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="706.153846154" cy="455.978241465" r="2.5" /><desc class="value">200: 6.62</desc><desc class="x left top">706.153846154</desc><desc class="y left top">455.978241465</desc></g></g><g class="series serie-1 color-1"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.8461538462" cy="448.160615482" r="2.5" /><desc class="value">20: 19.55</desc><desc class="x top">13.8461538462</desc><desc class="y top">448.160615482</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="90.7692307692" cy="434.036892127" r="2.5" /><desc class="value">40: 42.91</desc><desc class="x top">90.7692307692</desc><desc class="y top">434.036892127</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="167.692307692" cy="425.802084246" r="2.5" /><desc class="value">60: 56.53</desc><desc class="x top">167.692307692</desc><desc class="y top">425.802084246</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="244.615384615" cy="365.697660502" r="2.5" /><desc class="value">80: 155.94</desc><desc class="x top">244.615384615</desc><desc class="y top">365.697660502</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="398.461538462" cy="113.604918521" r="2.5" /><desc class="value">120: 572.89</desc><desc class="x left">398.461538462</desc><desc class="y left">113.604918521</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="552.307692308" cy="166.556788871" r="2.5" /><desc class="value">160: 485.31</desc><desc class="x left">552.307692308</desc><desc class="y left">166.556788871</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="706.153846154" cy="9.01923076923" r="2.5" /><desc class="value">200: 745.87</desc><desc class="x left">706.153846154</desc><desc class="y left">9.01923076923</desc></g></g><g class="series serie-2 color-2"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.8461538462" cy="456.306243174" r="2.5" /><desc class="value">20: 6.0775</desc><desc class="x top">13.8461538462</desc><desc class="y top">456.306243174</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="90.7692307692" cy="453.103314044" r="2.5" /><desc class="value">40: 11.375</desc><desc class="x top">90.7692307692</desc><desc class="y top">453.103314044</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="167.692307692" cy="448.660931452" r="2.5" /><desc class="value">60: 18.7225</desc><desc class="x top">167.692307692</desc><desc class="y top">448.660931452</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="244.615384615" cy="444.301682934" r="2.5" /><desc class="value">80: 25.9325</desc><desc class="x top">244.615384615</desc><desc class="y top">444.301682934</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="398.461538462" cy="434.0777034" r="2.5" /><desc class="value">120: 42.8425</desc><desc class="x left top">398.461538462</desc><desc class="y left top">434.0777034</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="552.307692308" cy="424.432639324" r="2.5" /><desc class="value">160: 58.795</desc><desc class="x left top">552.307692308</desc><desc class="y left top">424.432639324</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="706.153846154" cy="410.281708454" r="2.5" /><desc class="value">200: 82.2</desc><desc class="x left top">706.153846154</desc><desc class="y left top">410.281708454</desc></g></g></g><g class="plot text-overlay" transform="translate(60, 20)"><g class="series serie-0 color-0" /><g class="series serie-1 color-1" /><g class="series serie-2 color-2" /></g><g class="plot tooltip-overlay" transform="translate(60, 20)"><g class="tooltip" style="opacity: 0" transform="translate(0 0)"><rect class="tooltip-box" height="0" rx="0" ry="0" width="0" /><g class="text" /></g></g><g class="legends" transform="translate(70, 555)"><g class="legend reactive activate-serie" id="activate-serie-0"><rect class="color-0 reactive" height="12" width="12" x="0.0" y="1.0" /><text x="17.0" y="11.2">min latency, ms</text></g><g class="legend reactive activate-serie" id="activate-serie-1"><rect class="color-1 reactive" height="12" width="12" x="360.0" y="1.0" /><text x="377.0" y="11.2">max latency, ms</text></g><g class="legend reactive activate-serie" id="activate-serie-2"><rect class="color-2 reactive" height="12" width="12" x="0.0" y="22.0" /><text x="17.0" y="32.2">avg latency, ms</text></g></g></g></svg>
\ No newline at end of file
diff --git a/doc/source/test_results/db/mysql/mysql-galera-direct/throughput.svg b/doc/source/test_results/db/mysql/mysql-galera-direct/throughput.svg
new file mode 100644
index 0000000..aa75162
--- /dev/null
+++ b/doc/source/test_results/db/mysql/mysql-galera-direct/throughput.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" class="pygal-chart" id="chart-81b8d40f-eaba-4b3e-b771-c182008da2a5" viewBox="0 0 800 600" xmlns="http://www.w3.org/2000/svg"><!--Generated with pygal 2.1.1 (etree) ©Kozea 2011-2015 on 2016-03-29--><!--http://pygal.org--><!--http://github.com/Kozea/pygal--><defs><style type="text/css">#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5{-webkit-user-select:none;-webkit-font-smoothing:antialiased;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .title{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .legends .legend text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis text.major{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .text-overlay text.value{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .text-overlay text.label{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .tooltip{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 text.no_data{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:64px}
+#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5{background-color:#f9f9fa}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 path,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 line,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 rect,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 circle{-webkit-transition:150ms;-moz-transition:150ms;transition:150ms}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .graph &gt; .background{fill:#f9f9fa}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .plot &gt; .background{fill:#ffffff}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .graph{fill:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 text.no_data{fill:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .title{fill:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .legends .legend text{fill:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .legends .legend:hover text{fill:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis .line{stroke:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis .guide.line{stroke:rgba(0,0,0,0.5)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis .major.line{stroke:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis text.major{fill:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis.y .guides:hover .guide.line,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .line-graph .axis.x .guides:hover .guide.line,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .stackedline-graph .axis.x .guides:hover .guide.line,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .xy-graph .axis.x .guides:hover .guide.line{stroke:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis .guides:hover text{fill:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .reactive{fill-opacity:.6}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .ci{stroke:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .reactive.active,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .active .reactive{fill-opacity:.9;stroke-width:4}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .series text{fill:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .tooltip rect{fill:#ffffff;stroke:rgba(0,0,0,0.9);-webkit-transition:opacity 150ms;-moz-transition:opacity 150ms;transition:opacity 150ms}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .tooltip .legend{font-size:.8em;fill:rgba(0,0,0,0.5)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .tooltip .x_label{font-size:.6em;fill:rgba(0,0,0,0.9)}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .tooltip .xlink{font-size:.5em;text-decoration:underline}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .tooltip .value{font-size:1.5em}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .map-element{fill:#ffffff;stroke:rgba(0,0,0,0.5) !important}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .map-element .reactive{fill-opacity:inherit}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .color-0,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .color-0 a:visited{stroke:#d94e4c;fill:#d94e4c}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .color-1,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .color-1 a:visited{stroke:#e5884f;fill:#e5884f}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .color-2,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .color-2 a:visited{stroke:#39929a;fill:#39929a}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .text-overlay .color-0 text{fill:black}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .text-overlay .color-1 text{fill:black}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .text-overlay .color-2 text{fill:black}
+#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 text.no_data{text-anchor:middle}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .guide.line{fill:none}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .centered{text-anchor:middle}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .title{text-anchor:middle}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .legends .legend text{fill-opacity:1}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis.x text{text-anchor:middle}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis.x:not(.web) text[transform]{text-anchor:start}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis.x:not(.web) text[transform].backwards{text-anchor:end}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis.y text{text-anchor:end}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis.y text[transform].backwards{text-anchor:start}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis.y2 text{text-anchor:start}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis.y2 text[transform].backwards{text-anchor:end}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis .guide.line{stroke-dasharray:4,4}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis .major.guide.line{stroke-dasharray:6,6}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .horizontal .axis.y .guide.line,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .horizontal .axis.y2 .guide.line,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .vertical .axis.x .guide.line{opacity:0}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .horizontal .axis.always_show .guide.line,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .vertical .axis.always_show .guide.line{opacity:1 !important}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis.y .guides:hover .guide.line,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis.y2 .guides:hover .guide.line,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis.x .guides:hover .guide.line{opacity:1}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .axis .guides:hover text{opacity:1}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .nofill{fill:none}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .subtle-fill{fill-opacity:.2}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .dot{stroke-width:1px;fill-opacity:1}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .dot.active{stroke-width:5px}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .dot.negative{fill:transparent}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 text,#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 tspan{stroke:none !important}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .series text.active{opacity:1}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .tooltip rect{fill-opacity:.95;stroke-width:.5}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .tooltip text{fill-opacity:1}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .showable{visibility:hidden}#chart-81b8d40f-eaba-4b3e-b771-c182008da2a5 .showable.shown{visibility:visible}</style><script type="text/javascript">window.pygal = window.pygal || {};window.pygal.config = window.pygal.config || {};window.pygal.config['81b8d40f-eaba-4b3e-b771-c182008da2a5'] = {"dynamic_print_values": false, "y_labels_major_every": null, "y_labels_major_count": null, "inner_radius": 0, "print_values": false, "xrange": null, "box_mode": "extremes", "title": null, "legend_at_bottom_columns": null, "height": 600, "legend_at_bottom": true, "show_legend": true, "show_dots": true, "explicit_size": false, "y_labels_major": null, "show_minor_x_labels": true, "width": 800, "force_uri_protocol": null, "half_pie": false, "style": {"major_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_size": 14, "legend_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "colors": ["#d94e4c", "#e5884f", "#39929a", "#e27876", "#245d62", "#f0bb9b", "#c82d2a", "#234547"], "legend_font_size": 14, "no_data_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "major_label_font_size": 10, "ci_colors": [], "label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "label_font_size": 10, "value_font_size": 16, "font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "opacity": ".6", "foreground": "rgba(0, 0, 0, 0.9)", "plot_background": "#ffffff", "value_label_font_size": 10, "value_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "background": "#f9f9fa", "no_data_font_size": 64, "value_colors": [], "guide_stroke_dasharray": "4,4", "transition": "150ms", "foreground_subtle": "rgba(0, 0, 0, 0.5)", "value_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_size": 16, "major_guide_stroke_dasharray": "6,6", "opacity_hover": ".9", "foreground_strong": "rgba(0, 0, 0, 0.9)"}, "x_label_rotation": 0, "missing_value_fill_truncation": "x", "legends": ["queries per sec", "transactions per sec", "read queries per sec"], "zero": 0, "margin_right": null, "interpolation_parameters": {}, "x_labels_major": null, "rounded_bars": null, "show_y_labels": true, "dots_size": 2.5, "show_y_guides": true, "show_minor_y_labels": true, "x_labels": null, "y_title": null, "order_min": null, "fill": false, "disable_xml_declaration": false, "strict": false, "css": ["file://style.css", "file://graph.css"], "tooltip_fancy_mode": true, "defs": [], "show_only_major_dots": false, "y_label_rotation": 0, "human_readable": false, "min_scale": 4, "show_x_guides": false, "spacing": 10, "x_labels_major_count": null, "pretty_print": false, "tooltip_border_radius": 0, "interpolate": null, "js": ["//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js"], "y_labels": null, "stroke_style": null, "print_labels": false, "interpolation_precision": 250, "x_title": "threads", "value_formatter": null, "logarithmic": false, "max_scale": 16, "print_zeroes": true, "no_data_text": "No data", "truncate_legend": null, "x_labels_major_every": null, "secondary_range": null, "legend_box_size": 12, "no_prefix": false, "stroke": true, "x_value_formatter": null, "include_x_axis": true, "range": null, "truncate_label": null, "margin_top": null, "margin_left": null, "show_x_labels": true, "margin_bottom": null, "inverse_y_axis": false, "margin": 20, "stack_from_top": false, "print_values_position": "center"}</script><script type="text/javascript" xlink:href="//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js" /></defs><title>Pygal</title><g class="graph xy-graph vertical"><rect class="background" height="600" width="800" x="0" y="0" /><g class="plot" transform="translate(72, 20)"><rect class="background" height="469.0" width="708.0" x="0" y="0" /><g class="axis y"><g class="guides"><path class="major line" d="M0.000000 459.980769 h708.000000" /><text class="major" x="-5" y="463.480769231">0.0</text><title>0.0</title></g><g class="guides"><path class="guide line" d="M0.000000 399.169204 h708.000000" /><text class="" x="-5" y="402.669204277">10000.0</text><title>10000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 338.357639 h708.000000" /><text class="" x="-5" y="341.857639323">20000.0</text><title>20000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 277.546074 h708.000000" /><text class="" x="-5" y="281.046074368">30000.0</text><title>30000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 216.734509 h708.000000" /><text class="" x="-5" y="220.234509414">40000.0</text><title>40000.0</title></g><g class="guides"><path class="major guide line" d="M0.000000 155.922944 h708.000000" /><text class="major" x="-5" y="159.42294446">50000.0</text><title>50000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 95.111380 h708.000000" /><text class="" x="-5" y="98.6113795061">60000.0</text><title>60000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 34.299815 h708.000000" /><text class="" x="-5" y="37.799814552">70000.0</text><title>70000.0</title></g></g><g class="axis x"><path class="line" d="M0.000000 0.000000 v469.000000" /><g class="guides"><path class="guide line" d="M13.615385 0.000000 v469.000000" /><text class="" x="13.6153846154" y="484.0">20.0</text><title>20.0</title></g><g class="guides"><path class="guide line" d="M89.256410 0.000000 v469.000000" /><text class="" x="89.2564102564" y="484.0">40.0</text><title>40.0</title></g><g class="guides"><path class="guide line" d="M164.897436 0.000000 v469.000000" /><text class="" x="164.897435897" y="484.0">60.0</text><title>60.0</title></g><g class="guides"><path class="guide line" d="M240.538462 0.000000 v469.000000" /><text class="" x="240.538461538" y="484.0">80.0</text><title>80.0</title></g><g class="guides"><path class="guide line" d="M316.179487 0.000000 v469.000000" /><text class="" x="316.179487179" y="484.0">100.0</text><title>100.0</title></g><g class="guides"><path class="guide line" d="M391.820513 0.000000 v469.000000" /><text class="" x="391.820512821" y="484.0">120.0</text><title>120.0</title></g><g class="guides"><path class="guide line" d="M467.461538 0.000000 v469.000000" /><text class="" x="467.461538462" y="484.0">140.0</text><title>140.0</title></g><g class="guides"><path class="guide line" d="M543.102564 0.000000 v469.000000" /><text class="" x="543.102564103" y="484.0">160.0</text><title>160.0</title></g><g class="guides"><path class="guide line" d="M618.743590 0.000000 v469.000000" /><text class="" x="618.743589744" y="484.0">180.0</text><title>180.0</title></g><g class="guides"><path class="guide line" d="M694.384615 0.000000 v469.000000" /><text class="" x="694.384615385" y="484.0">200.0</text><title>200.0</title></g></g><g class="series serie-0 color-0"><path class="line reactive nofill" d="M13.615385 39.695321 L89.256410 9.019231 164.897436 47.013384 240.538462 63.379500 391.820513 101.830348 543.102564 112.217470 694.384615 149.106475" /></g><g class="series serie-1 color-1"><path class="line reactive nofill" d="M13.615385 439.967176 L89.256410 438.506584 164.897436 440.315829 240.538462 441.095332 391.820513 442.926571 543.102564 443.421881 694.384615 445.179437" /></g><g class="series serie-2 color-2"><path class="line reactive nofill" d="M13.615385 179.790470 L89.256410 159.339338 164.897436 184.668774 240.538462 195.578977 391.820513 221.212065 543.102564 228.135056 694.384615 252.725226" /></g></g><g class="titles"><text class="title" x="426.0" y="535.0">threads</text></g><g class="plot overlay" transform="translate(72, 20)"><g class="series serie-0 color-0"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.6153846154" cy="39.6953206525" r="2.5" /><desc class="value">20: 69112.75</desc><desc class="x ">13.6153846154</desc><desc class="y ">39.6953206525</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="89.2564102564" cy="9.01923076923" r="2.5" /><desc class="value">40: 74157.2</desc><desc class="x ">89.2564102564</desc><desc class="y ">9.01923076923</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="164.897435897" cy="47.0133843791" r="2.5" /><desc class="value">60: 67909.35</desc><desc class="x ">164.897435897</desc><desc class="y ">47.0133843791</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="240.538461538" cy="63.3794995026" r="2.5" /><desc class="value">80: 65218.0666667</desc><desc class="x ">240.538461538</desc><desc class="y ">63.3794995026</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="391.820512821" cy="101.830347965" r="2.5" /><desc class="value">120: 58895.1166667</desc><desc class="x left">391.820512821</desc><desc class="y left">101.830347965</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="543.102564103" cy="112.217470022" r="2.5" /><desc class="value">160: 57187.0333333</desc><desc class="x left">543.102564103</desc><desc class="y left">112.217470022</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="694.384615385" cy="149.106474792" r="2.5" /><desc class="value">200: 51120.9166667</desc><desc class="x left">694.384615385</desc><desc class="y left">149.106474792</desc></g></g><g class="series serie-1 color-1"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.6153846154" cy="439.967176441" r="2.5" /><desc class="value">20: 3291.08333333</desc><desc class="x top">13.6153846154</desc><desc class="y top">439.967176441</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="89.2564102564" cy="438.506584004" r="2.5" /><desc class="value">40: 3531.26666667</desc><desc class="x top">89.2564102564</desc><desc class="y top">438.506584004</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="164.897435897" cy="440.315829414" r="2.5" /><desc class="value">60: 3233.75</desc><desc class="x top">164.897435897</desc><desc class="y top">440.315829414</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="240.538461538" cy="441.095332324" r="2.5" /><desc class="value">80: 3105.56666667</desc><desc class="x top">240.538461538</desc><desc class="y top">441.095332324</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="391.820512821" cy="442.92657125" r="2.5" /><desc class="value">120: 2804.43333333</desc><desc class="x left top">391.820512821</desc><desc class="y left top">442.92657125</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="543.102564103" cy="443.421881446" r="2.5" /><desc class="value">160: 2722.98333333</desc><desc class="x left top">543.102564103</desc><desc class="y left top">443.421881446</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="694.384615385" cy="445.179437026" r="2.5" /><desc class="value">200: 2433.96666667</desc><desc class="x left top">694.384615385</desc><desc class="y left top">445.179437026</desc></g></g><g class="series serie-2 color-2"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.6153846154" cy="179.790470179" r="2.5" /><desc class="value">20: 46075.1666667</desc><desc class="x ">13.6153846154</desc><desc class="y ">179.790470179</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="89.2564102564" cy="159.339338179" r="2.5" /><desc class="value">40: 49438.2</desc><desc class="x ">89.2564102564</desc><desc class="y ">159.339338179</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="164.897435897" cy="184.668773919" r="2.5" /><desc class="value">60: 45272.9666667</desc><desc class="x ">164.897435897</desc><desc class="y ">184.668773919</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="240.538461538" cy="195.578976788" r="2.5" /><desc class="value">80: 43478.8666667</desc><desc class="x ">240.538461538</desc><desc class="y ">195.578976788</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="391.820512821" cy="221.212064942" r="2.5" /><desc class="value">120: 39263.7</desc><desc class="x left">391.820512821</desc><desc class="y left">221.212064942</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="543.102564103" cy="228.135056201" r="2.5" /><desc class="value">160: 38125.2666667</desc><desc class="x left">543.102564103</desc><desc class="y left">228.135056201</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="694.384615385" cy="252.725226017" r="2.5" /><desc class="value">200: 34081.6</desc><desc class="x left top">694.384615385</desc><desc class="y left top">252.725226017</desc></g></g></g><g class="plot text-overlay" transform="translate(72, 20)"><g class="series serie-0 color-0" /><g class="series serie-1 color-1" /><g class="series serie-2 color-2" /></g><g class="plot tooltip-overlay" transform="translate(72, 20)"><g class="tooltip" style="opacity: 0" transform="translate(0 0)"><rect class="tooltip-box" height="0" rx="0" ry="0" width="0" /><g class="text" /></g></g><g class="legends" transform="translate(82, 555)"><g class="legend reactive activate-serie" id="activate-serie-0"><rect class="color-0 reactive" height="12" width="12" x="0.0" y="1.0" /><text x="17.0" y="11.2">queries per sec</text></g><g class="legend reactive activate-serie" id="activate-serie-1"><rect class="color-1 reactive" height="12" width="12" x="354.0" y="1.0" /><text x="371.0" y="11.2">transactions per sec</text></g><g class="legend reactive activate-serie" id="activate-serie-2"><rect class="color-2 reactive" height="12" width="12" x="0.0" y="22.0" /><text x="17.0" y="32.2">read queries per sec</text></g></g></g></svg>
\ No newline at end of file
diff --git a/doc/source/test_results/db/mysql/mysql-galera-direct/topology.svg b/doc/source/test_results/db/mysql/mysql-galera-direct/topology.svg
new file mode 100644
index 0000000..1962051
--- /dev/null
+++ b/doc/source/test_results/db/mysql/mysql-galera-direct/topology.svg
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="580"
+   height="350"
+   viewBox="0 0 580.00001 350"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="topology.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5392"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
+         id="path5394" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker4607"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
+         id="path4609"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4244"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
+         style="fill:#44aa00;fill-opacity:1;fill-rule:evenodd;stroke:#44aa00;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.98994949"
+     inkscape:cx="323.60285"
+     inkscape:cy="205.89558"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1280"
+     inkscape:window-height="752"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     units="px"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-71.73098,-42.362206)">
+    <rect
+       style="fill:#b3ff80;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4140"
+       width="115.15739"
+       height="78.286819"
+       x="112.12693"
+       y="91.202057" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="126.16592"
+       y="139.84961"
+       id="text4142"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4144"
+         x="126.16592"
+         y="139.84961">Node-1</tspan></text>
+    <rect
+       y="91.202057"
+       x="304.05591"
+       height="78.286819"
+       width="115.15739"
+       id="rect4146"
+       style="fill:#b3ff80;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text4148"
+       y="139.84961"
+       x="318.09491"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         y="139.84961"
+         x="318.09491"
+         id="tspan4150"
+         sodipodi:role="line">Node-2</tspan></text>
+    <rect
+       y="91.202057"
+       x="495.98492"
+       height="78.286819"
+       width="115.15739"
+       id="rect4152"
+       style="fill:#b3ff80;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text4154"
+       y="139.84961"
+       x="510.02386"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         y="139.84961"
+         x="510.02386"
+         id="tspan4156"
+         sodipodi:role="line">Node-3</tspan></text>
+    <rect
+       y="278.95343"
+       x="280.25034"
+       height="77.794151"
+       width="157.09094"
+       id="rect4158"
+       style="fill:none;fill-opacity:0.59215686;stroke:#000000;stroke-width:3.49285102;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text4160"
+       y="325.35477"
+       x="302.04288"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         y="325.35477"
+         x="302.04288"
+         id="tspan4162"
+         sodipodi:role="line">sysbench</tspan></text>
+    <rect
+       style="fill:none;fill-opacity:0.59215686;stroke:#808080;stroke-width:1.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32704408"
+       id="rect4225"
+       width="578"
+       height="348"
+       x="72.73098"
+       y="43.362206" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 227.14286,120.07649 76.42857,0"
+       id="path4591"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4593"
+       d="m 227.14286,140.07649 76.42857,0"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4595"
+       d="m 419.14286,120.07649 76.42857,0"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 419.14286,140.07649 76.42857,0"
+       id="path4597"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path5390"
+       d="m 359.89706,278.74779 1.01015,-104.04571"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5392)" />
+  </g>
+</svg>
diff --git a/doc/source/test_results/db/mysql/mysql-galera-haproxy/cpu_consumption.svg b/doc/source/test_results/db/mysql/mysql-galera-haproxy/cpu_consumption.svg
new file mode 100644
index 0000000..f1a31c0
--- /dev/null
+++ b/doc/source/test_results/db/mysql/mysql-galera-haproxy/cpu_consumption.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" class="pygal-chart" id="chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d" viewBox="0 0 800 600" xmlns="http://www.w3.org/2000/svg"><!--Generated with pygal 2.1.1 (etree) ©Kozea 2011-2015 on 2016-03-29--><!--http://pygal.org--><!--http://github.com/Kozea/pygal--><defs><style type="text/css">#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d{-webkit-user-select:none;-webkit-font-smoothing:antialiased;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .title{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .legends .legend text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis text.major{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .text-overlay text.value{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .text-overlay text.label{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .tooltip{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d text.no_data{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:64px}
+#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d{background-color:#f9f9fa}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d path,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d line,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d rect,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d circle{-webkit-transition:150ms;-moz-transition:150ms;transition:150ms}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .graph &gt; .background{fill:#f9f9fa}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .plot &gt; .background{fill:#ffffff}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .graph{fill:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d text.no_data{fill:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .title{fill:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .legends .legend text{fill:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .legends .legend:hover text{fill:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis .line{stroke:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis .guide.line{stroke:rgba(0,0,0,0.5)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis .major.line{stroke:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis text.major{fill:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis.y .guides:hover .guide.line,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .line-graph .axis.x .guides:hover .guide.line,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .stackedline-graph .axis.x .guides:hover .guide.line,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .xy-graph .axis.x .guides:hover .guide.line{stroke:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis .guides:hover text{fill:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .reactive{fill-opacity:.6}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .ci{stroke:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .reactive.active,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .active .reactive{fill-opacity:.9;stroke-width:4}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .series text{fill:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .tooltip rect{fill:#ffffff;stroke:rgba(0,0,0,0.9);-webkit-transition:opacity 150ms;-moz-transition:opacity 150ms;transition:opacity 150ms}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .tooltip .legend{font-size:.8em;fill:rgba(0,0,0,0.5)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .tooltip .x_label{font-size:.6em;fill:rgba(0,0,0,0.9)}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .tooltip .xlink{font-size:.5em;text-decoration:underline}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .tooltip .value{font-size:1.5em}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .map-element{fill:#ffffff;stroke:rgba(0,0,0,0.5) !important}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .map-element .reactive{fill-opacity:inherit}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .color-0,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .color-0 a:visited{stroke:#d94e4c;fill:#d94e4c}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .color-1,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .color-1 a:visited{stroke:#e5884f;fill:#e5884f}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .text-overlay .color-0 text{fill:black}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .text-overlay .color-1 text{fill:black}
+#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d text.no_data{text-anchor:middle}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .guide.line{fill:none}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .centered{text-anchor:middle}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .title{text-anchor:middle}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .legends .legend text{fill-opacity:1}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis.x text{text-anchor:middle}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis.x:not(.web) text[transform]{text-anchor:start}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis.x:not(.web) text[transform].backwards{text-anchor:end}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis.y text{text-anchor:end}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis.y text[transform].backwards{text-anchor:start}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis.y2 text{text-anchor:start}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis.y2 text[transform].backwards{text-anchor:end}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis .guide.line{stroke-dasharray:4,4}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis .major.guide.line{stroke-dasharray:6,6}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .horizontal .axis.y .guide.line,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .horizontal .axis.y2 .guide.line,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .vertical .axis.x .guide.line{opacity:0}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .horizontal .axis.always_show .guide.line,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .vertical .axis.always_show .guide.line{opacity:1 !important}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis.y .guides:hover .guide.line,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis.y2 .guides:hover .guide.line,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis.x .guides:hover .guide.line{opacity:1}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .axis .guides:hover text{opacity:1}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .nofill{fill:none}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .subtle-fill{fill-opacity:.2}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .dot{stroke-width:1px;fill-opacity:1}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .dot.active{stroke-width:5px}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .dot.negative{fill:transparent}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d text,#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d tspan{stroke:none !important}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .series text.active{opacity:1}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .tooltip rect{fill-opacity:.95;stroke-width:.5}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .tooltip text{fill-opacity:1}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .showable{visibility:hidden}#chart-07756c95-2ae5-4e51-8958-0f7bd3edf71d .showable.shown{visibility:visible}</style><script type="text/javascript">window.pygal = window.pygal || {};window.pygal.config = window.pygal.config || {};window.pygal.config['07756c95-2ae5-4e51-8958-0f7bd3edf71d'] = {"dynamic_print_values": false, "y_labels_major_every": null, "y_labels_major_count": null, "inner_radius": 0, "print_values": false, "xrange": null, "box_mode": "extremes", "title": null, "legend_at_bottom_columns": null, "height": 600, "legend_at_bottom": true, "show_legend": true, "show_dots": true, "explicit_size": false, "y_labels_major": null, "show_minor_x_labels": true, "width": 800, "force_uri_protocol": null, "half_pie": false, "style": {"major_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_size": 14, "legend_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "colors": ["#d94e4c", "#e5884f", "#39929a", "#e27876", "#245d62", "#f0bb9b", "#c82d2a", "#234547"], "legend_font_size": 14, "no_data_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "major_label_font_size": 10, "ci_colors": [], "label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "label_font_size": 10, "value_font_size": 16, "font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "opacity": ".6", "foreground": "rgba(0, 0, 0, 0.9)", "plot_background": "#ffffff", "value_label_font_size": 10, "value_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "background": "#f9f9fa", "no_data_font_size": 64, "value_colors": [], "guide_stroke_dasharray": "4,4", "transition": "150ms", "foreground_subtle": "rgba(0, 0, 0, 0.5)", "value_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_size": 16, "major_guide_stroke_dasharray": "6,6", "opacity_hover": ".9", "foreground_strong": "rgba(0, 0, 0, 0.9)"}, "x_label_rotation": 0, "missing_value_fill_truncation": "x", "legends": ["queries per sec", "CPU, %"], "zero": 0, "margin_right": null, "interpolation_parameters": {}, "x_labels_major": null, "rounded_bars": null, "show_y_labels": true, "dots_size": 2.5, "show_y_guides": true, "show_minor_y_labels": true, "x_labels": null, "y_title": null, "order_min": null, "fill": false, "disable_xml_declaration": false, "strict": false, "css": ["file://style.css", "file://graph.css"], "tooltip_fancy_mode": true, "defs": [], "show_only_major_dots": false, "y_label_rotation": 0, "human_readable": false, "min_scale": 4, "show_x_guides": false, "spacing": 10, "x_labels_major_count": null, "pretty_print": false, "tooltip_border_radius": 0, "interpolate": null, "js": ["//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js"], "y_labels": null, "stroke_style": null, "print_labels": false, "interpolation_precision": 250, "x_title": "threads", "value_formatter": null, "logarithmic": false, "max_scale": 16, "print_zeroes": true, "no_data_text": "No data", "truncate_legend": null, "x_labels_major_every": null, "secondary_range": null, "legend_box_size": 12, "no_prefix": false, "stroke": true, "x_value_formatter": null, "include_x_axis": true, "range": null, "truncate_label": null, "margin_top": null, "margin_left": null, "show_x_labels": true, "margin_bottom": null, "inverse_y_axis": false, "margin": 20, "stack_from_top": false, "print_values_position": "center"}</script><script type="text/javascript" xlink:href="//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js" /></defs><title>Pygal</title><g class="graph xy-graph vertical"><rect class="background" height="600" width="800" x="0" y="0" /><g class="plot" transform="translate(72, 20)"><rect class="background" height="469.0" width="708.0" x="0" y="0" /><g class="axis y"><g class="guides"><path class="major line" d="M0.000000 459.980769 h708.000000" /><text class="major" x="-5" y="463.480769231">0.0</text><title>0.0</title></g><g class="guides"><path class="guide line" d="M0.000000 382.838866 h708.000000" /><text class="" x="-5" y="386.338865894">10000.0</text><title>10000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 305.696963 h708.000000" /><text class="" x="-5" y="309.196962556">20000.0</text><title>20000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 228.555059 h708.000000" /><text class="" x="-5" y="232.055059219">30000.0</text><title>30000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 151.413156 h708.000000" /><text class="" x="-5" y="154.913155882">40000.0</text><title>40000.0</title></g><g class="guides"><path class="major guide line" d="M0.000000 74.271253 h708.000000" /><text class="major" x="-5" y="77.771252545">50000.0</text><title>50000.0</title></g></g><g class="axis x"><path class="line" d="M0.000000 0.000000 v469.000000" /><g class="guides"><path class="guide line" d="M13.615385 0.000000 v469.000000" /><text class="" x="13.6153846154" y="484.0">20.0</text><title>20.0</title></g><g class="guides"><path class="guide line" d="M89.256410 0.000000 v469.000000" /><text class="" x="89.2564102564" y="484.0">40.0</text><title>40.0</title></g><g class="guides"><path class="guide line" d="M164.897436 0.000000 v469.000000" /><text class="" x="164.897435897" y="484.0">60.0</text><title>60.0</title></g><g class="guides"><path class="guide line" d="M240.538462 0.000000 v469.000000" /><text class="" x="240.538461538" y="484.0">80.0</text><title>80.0</title></g><g class="guides"><path class="guide line" d="M316.179487 0.000000 v469.000000" /><text class="" x="316.179487179" y="484.0">100.0</text><title>100.0</title></g><g class="guides"><path class="guide line" d="M391.820513 0.000000 v469.000000" /><text class="" x="391.820512821" y="484.0">120.0</text><title>120.0</title></g><g class="guides"><path class="guide line" d="M467.461538 0.000000 v469.000000" /><text class="" x="467.461538462" y="484.0">140.0</text><title>140.0</title></g><g class="guides"><path class="guide line" d="M543.102564 0.000000 v469.000000" /><text class="" x="543.102564103" y="484.0">160.0</text><title>160.0</title></g><g class="guides"><path class="guide line" d="M618.743590 0.000000 v469.000000" /><text class="" x="618.743589744" y="484.0">180.0</text><title>180.0</title></g><g class="guides"><path class="guide line" d="M694.384615 0.000000 v469.000000" /><text class="" x="694.384615385" y="484.0">200.0</text><title>200.0</title></g></g><g class="series serie-0 color-0"><path class="line reactive nofill" d="M13.615385 79.428574 L89.256410 24.284842 164.897436 25.941336 240.538462 9.019231 391.820513 34.863826 543.102564 326.535819 694.384615 369.476474" /></g><g class="series serie-1 color-1"><path class="line reactive nofill" d="M13.615385 452.903442 L89.256410 451.377550 164.897436 451.703190 240.538462 451.079099 391.820513 450.890909 543.102564 444.165667 694.384615 444.097767" /></g></g><g class="titles"><text class="title" x="426.0" y="535.0">threads</text></g><g class="plot overlay" transform="translate(72, 20)"><g class="series serie-0 color-0"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.6153846154" cy="79.4285744926" r="2.5" /><desc class="value">20: 49331.45</desc><desc class="x ">13.6153846154</desc><desc class="y ">79.4285744926</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="89.2564102564" cy="24.2848420206" r="2.5" /><desc class="value">40: 56479.8</desc><desc class="x ">89.2564102564</desc><desc class="y ">24.2848420206</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="164.897435897" cy="25.9413358249" r="2.5" /><desc class="value">60: 56265.0666667</desc><desc class="x ">164.897435897</desc><desc class="y ">25.9413358249</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="240.538461538" cy="9.01923076923" r="2.5" /><desc class="value">80: 58458.7</desc><desc class="x ">240.538461538</desc><desc class="y ">9.01923076923</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="391.820512821" cy="34.8638255046" r="2.5" /><desc class="value">120: 55108.4333333</desc><desc class="x left">391.820512821</desc><desc class="y left">34.8638255046</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="543.102564103" cy="326.535819184" r="2.5" /><desc class="value">160: 17298.6333333</desc><desc class="x left top">543.102564103</desc><desc class="y left top">326.535819184</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="694.384615385" cy="369.476473967" r="2.5" /><desc class="value">200: 11732.1833333</desc><desc class="x left top">694.384615385</desc><desc class="y left top">369.476473967</desc></g></g><g class="series serie-1 color-1"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.6153846154" cy="452.903442217" r="2.5" /><desc class="value">20: 917.442622951</desc><desc class="x top">13.6153846154</desc><desc class="y top">452.903442217</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="89.2564102564" cy="451.377550077" r="2.5" /><desc class="value">40: 1115.24590164</desc><desc class="x top">89.2564102564</desc><desc class="y top">451.377550077</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="164.897435897" cy="451.703190078" r="2.5" /><desc class="value">60: 1073.03278689</desc><desc class="x top">164.897435897</desc><desc class="y top">451.703190078</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="240.538461538" cy="451.079099434" r="2.5" /><desc class="value">80: 1153.93442623</desc><desc class="x top">240.538461538</desc><desc class="y top">451.079099434</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="391.820512821" cy="450.890909021" r="2.5" /><desc class="value">120: 1178.32978142</desc><desc class="x left top">391.820512821</desc><desc class="y left top">450.890909021</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="543.102564103" cy="444.16566735" r="2.5" /><desc class="value">160: 2050.13114754</desc><desc class="x left top">543.102564103</desc><desc class="y left top">444.16566735</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="694.384615385" cy="444.097767381" r="2.5" /><desc class="value">200: 2058.93310418</desc><desc class="x left top">694.384615385</desc><desc class="y left top">444.097767381</desc></g></g></g><g class="plot text-overlay" transform="translate(72, 20)"><g class="series serie-0 color-0" /><g class="series serie-1 color-1" /></g><g class="plot tooltip-overlay" transform="translate(72, 20)"><g class="tooltip" style="opacity: 0" transform="translate(0 0)"><rect class="tooltip-box" height="0" rx="0" ry="0" width="0" /><g class="text" /></g></g><g class="legends" transform="translate(82, 555)"><g class="legend reactive activate-serie" id="activate-serie-0"><rect class="color-0 reactive" height="12" width="12" x="0.0" y="1.0" /><text x="17.0" y="11.2">queries per sec</text></g><g class="legend reactive activate-serie" id="activate-serie-1"><rect class="color-1 reactive" height="12" width="12" x="354.0" y="1.0" /><text x="371.0" y="11.2">CPU, %</text></g></g></g></svg>
\ No newline at end of file
diff --git a/doc/source/test_results/db/mysql/mysql-galera-haproxy/index.rst b/doc/source/test_results/db/mysql/mysql-galera-haproxy/index.rst
new file mode 100644
index 0000000..3b3d0fb
--- /dev/null
+++ b/doc/source/test_results/db/mysql/mysql-galera-haproxy/index.rst
@@ -0,0 +1,170 @@
+MySQL + Galera + HAproxy performance report
+-------------------------------------------
+
+This scenario is executed with `Sysbench`_ tool. There is one instance of
+tool per tester node, each running in N threads. Galera cluster is located
+behind HAproxy. Tester tools all point to HAProxy endpoint.
+
+.. image:: topology.*
+
+
+Throughput
+^^^^^^^^^^
+
+The following chart shows the number of queries, read queries and transactions
+depending on total thread count.
+
+.. image:: throughput.*
+
+
+.. list-table:: Throughput
+   :header-rows: 1
+
+   *
+     - threads
+     - queries per sec
+     - read queries per sec
+     - transactions per sec
+   *
+     - 20
+     - 49331.4
+     - 32887.6
+     - 2349.1
+   *
+     - 40
+     - 56479.8
+     - 37653.2
+     - 2689.5
+   *
+     - 60
+     - 56265.1
+     - 37510.2
+     - 2679.2
+   *
+     - 80
+     - 58458.7
+     - 38972.5
+     - 2783.7
+   *
+     - 120
+     - 55108.4
+     - 36739.3
+     - 2624.1
+   *
+     - 160
+     - 17298.6
+     - 11532.5
+     - 823.7
+   *
+     - 200
+     - 11732.2
+     - 7821.8
+     - 558.5
+
+
+
+Throughput and server CPU consumption
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The following chart shows how DB server CPU consumption depends on number
+of concurrent threads and throughput.
+
+.. image:: cpu_consumption.*
+
+
+.. list-table:: CPU consumption
+   :header-rows: 1
+
+   *
+     - threads
+     - queries per sec
+     - CPU, %
+   *
+     - 20
+     - 49331.4
+     - 917.4
+   *
+     - 40
+     - 56479.8
+     - 1115.2
+   *
+     - 60
+     - 56265.1
+     - 1073.0
+   *
+     - 80
+     - 58458.7
+     - 1153.9
+   *
+     - 120
+     - 55108.4
+     - 1178.3
+   *
+     - 160
+     - 17298.6
+     - 2050.1
+   *
+     - 200
+     - 11732.2
+     - 2058.9
+
+
+
+Operation latency
+^^^^^^^^^^^^^^^^^
+
+The following chart shows how operation latency depends on number of 
+concurrent threads.
+
+.. image:: latency.*
+
+
+.. list-table:: Latency
+   :header-rows: 1
+
+   *
+     - threads
+     - min latency, ms
+     - avg latency, ms
+     - max latency, ms
+   *
+     - 20
+     - 4.8
+     - 8.5
+     - 23.3
+   *
+     - 40
+     - 6.1
+     - 14.9
+     - 27.2
+   *
+     - 60
+     - 5.4
+     - 22.4
+     - 64.8
+   *
+     - 80
+     - 7.3
+     - 28.7
+     - 78.6
+   *
+     - 120
+     - 9.4
+     - 45.7
+     - 113.8
+   *
+     - 160
+     - 13.4
+     - 194.5
+     - 1069.3
+   *
+     - 200
+     - 14.9
+     - 358.9
+     - 4071.6
+
+
+
+.. references:
+
+.. _Sysbench: https://github.com/akopytov/sysbench
diff --git a/doc/source/test_results/db/mysql/mysql-galera-haproxy/latency.svg b/doc/source/test_results/db/mysql/mysql-galera-haproxy/latency.svg
new file mode 100644
index 0000000..d39eb16
--- /dev/null
+++ b/doc/source/test_results/db/mysql/mysql-galera-haproxy/latency.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" class="pygal-chart" id="chart-a7f01f98-4daf-4164-9e08-7eb60d245d26" viewBox="0 0 800 600" xmlns="http://www.w3.org/2000/svg"><!--Generated with pygal 2.1.1 (etree) ©Kozea 2011-2015 on 2016-03-29--><!--http://pygal.org--><!--http://github.com/Kozea/pygal--><defs><style type="text/css">#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26{-webkit-user-select:none;-webkit-font-smoothing:antialiased;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .title{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .legends .legend text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis text.major{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .text-overlay text.value{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .text-overlay text.label{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .tooltip{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 text.no_data{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:64px}
+#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26{background-color:#f9f9fa}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 path,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 line,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 rect,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 circle{-webkit-transition:150ms;-moz-transition:150ms;transition:150ms}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .graph &gt; .background{fill:#f9f9fa}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .plot &gt; .background{fill:#ffffff}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .graph{fill:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 text.no_data{fill:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .title{fill:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .legends .legend text{fill:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .legends .legend:hover text{fill:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis .line{stroke:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis .guide.line{stroke:rgba(0,0,0,0.5)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis .major.line{stroke:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis text.major{fill:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis.y .guides:hover .guide.line,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .line-graph .axis.x .guides:hover .guide.line,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .stackedline-graph .axis.x .guides:hover .guide.line,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .xy-graph .axis.x .guides:hover .guide.line{stroke:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis .guides:hover text{fill:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .reactive{fill-opacity:.6}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .ci{stroke:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .reactive.active,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .active .reactive{fill-opacity:.9;stroke-width:4}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .series text{fill:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .tooltip rect{fill:#ffffff;stroke:rgba(0,0,0,0.9);-webkit-transition:opacity 150ms;-moz-transition:opacity 150ms;transition:opacity 150ms}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .tooltip .legend{font-size:.8em;fill:rgba(0,0,0,0.5)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .tooltip .x_label{font-size:.6em;fill:rgba(0,0,0,0.9)}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .tooltip .xlink{font-size:.5em;text-decoration:underline}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .tooltip .value{font-size:1.5em}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .map-element{fill:#ffffff;stroke:rgba(0,0,0,0.5) !important}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .map-element .reactive{fill-opacity:inherit}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .color-0,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .color-0 a:visited{stroke:#d94e4c;fill:#d94e4c}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .color-1,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .color-1 a:visited{stroke:#e5884f;fill:#e5884f}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .color-2,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .color-2 a:visited{stroke:#39929a;fill:#39929a}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .text-overlay .color-0 text{fill:black}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .text-overlay .color-1 text{fill:black}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .text-overlay .color-2 text{fill:black}
+#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 text.no_data{text-anchor:middle}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .guide.line{fill:none}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .centered{text-anchor:middle}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .title{text-anchor:middle}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .legends .legend text{fill-opacity:1}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis.x text{text-anchor:middle}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis.x:not(.web) text[transform]{text-anchor:start}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis.x:not(.web) text[transform].backwards{text-anchor:end}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis.y text{text-anchor:end}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis.y text[transform].backwards{text-anchor:start}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis.y2 text{text-anchor:start}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis.y2 text[transform].backwards{text-anchor:end}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis .guide.line{stroke-dasharray:4,4}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis .major.guide.line{stroke-dasharray:6,6}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .horizontal .axis.y .guide.line,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .horizontal .axis.y2 .guide.line,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .vertical .axis.x .guide.line{opacity:0}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .horizontal .axis.always_show .guide.line,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .vertical .axis.always_show .guide.line{opacity:1 !important}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis.y .guides:hover .guide.line,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis.y2 .guides:hover .guide.line,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis.x .guides:hover .guide.line{opacity:1}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .axis .guides:hover text{opacity:1}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .nofill{fill:none}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .subtle-fill{fill-opacity:.2}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .dot{stroke-width:1px;fill-opacity:1}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .dot.active{stroke-width:5px}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .dot.negative{fill:transparent}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 text,#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 tspan{stroke:none !important}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .series text.active{opacity:1}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .tooltip rect{fill-opacity:.95;stroke-width:.5}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .tooltip text{fill-opacity:1}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .showable{visibility:hidden}#chart-a7f01f98-4daf-4164-9e08-7eb60d245d26 .showable.shown{visibility:visible}</style><script type="text/javascript">window.pygal = window.pygal || {};window.pygal.config = window.pygal.config || {};window.pygal.config['a7f01f98-4daf-4164-9e08-7eb60d245d26'] = {"dynamic_print_values": false, "y_labels_major_every": null, "y_labels_major_count": null, "inner_radius": 0, "print_values": false, "xrange": null, "box_mode": "extremes", "title": null, "legend_at_bottom_columns": null, "height": 600, "legend_at_bottom": true, "show_legend": true, "show_dots": true, "explicit_size": false, "y_labels_major": null, "show_minor_x_labels": true, "width": 800, "force_uri_protocol": null, "half_pie": false, "style": {"major_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_size": 14, "legend_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "colors": ["#d94e4c", "#e5884f", "#39929a", "#e27876", "#245d62", "#f0bb9b", "#c82d2a", "#234547"], "legend_font_size": 14, "no_data_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "major_label_font_size": 10, "ci_colors": [], "label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "label_font_size": 10, "value_font_size": 16, "font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "opacity": ".6", "foreground": "rgba(0, 0, 0, 0.9)", "plot_background": "#ffffff", "value_label_font_size": 10, "value_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "background": "#f9f9fa", "no_data_font_size": 64, "value_colors": [], "guide_stroke_dasharray": "4,4", "transition": "150ms", "foreground_subtle": "rgba(0, 0, 0, 0.5)", "value_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_size": 16, "major_guide_stroke_dasharray": "6,6", "opacity_hover": ".9", "foreground_strong": "rgba(0, 0, 0, 0.9)"}, "x_label_rotation": 0, "missing_value_fill_truncation": "x", "legends": ["min latency, ms", "max latency, ms", "avg latency, ms"], "zero": 0, "margin_right": null, "interpolation_parameters": {}, "x_labels_major": null, "rounded_bars": null, "show_y_labels": true, "dots_size": 2.5, "show_y_guides": true, "show_minor_y_labels": true, "x_labels": null, "y_title": null, "order_min": null, "fill": false, "disable_xml_declaration": false, "strict": false, "css": ["file://style.css", "file://graph.css"], "tooltip_fancy_mode": true, "defs": [], "show_only_major_dots": false, "y_label_rotation": 0, "human_readable": false, "min_scale": 4, "show_x_guides": false, "spacing": 10, "x_labels_major_count": null, "pretty_print": false, "tooltip_border_radius": 0, "interpolate": null, "js": ["//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js"], "y_labels": null, "stroke_style": null, "print_labels": false, "interpolation_precision": 250, "x_title": "threads", "value_formatter": null, "logarithmic": false, "max_scale": 16, "print_zeroes": true, "no_data_text": "No data", "truncate_legend": null, "x_labels_major_every": null, "secondary_range": null, "legend_box_size": 12, "no_prefix": false, "stroke": true, "x_value_formatter": null, "include_x_axis": true, "range": null, "truncate_label": null, "margin_top": null, "margin_left": null, "show_x_labels": true, "margin_bottom": null, "inverse_y_axis": false, "margin": 20, "stack_from_top": false, "print_values_position": "center"}</script><script type="text/javascript" xlink:href="//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js" /></defs><title>Pygal</title><g class="graph xy-graph vertical"><rect class="background" height="600" width="800" x="0" y="0" /><g class="plot" transform="translate(66, 20)"><rect class="background" height="469.0" width="714.0" x="0" y="0" /><g class="axis y"><g class="guides"><path class="major line" d="M0.000000 459.980769 h714.000000" /><text class="major" x="-5" y="463.480769231">0.0</text><title>0.0</title></g><g class="guides"><path class="guide line" d="M0.000000 349.222950 h714.000000" /><text class="" x="-5" y="352.722949587">1000.0</text><title>1000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 238.465130 h714.000000" /><text class="" x="-5" y="241.965129943">2000.0</text><title>2000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 127.707310 h714.000000" /><text class="" x="-5" y="131.207310299">3000.0</text><title>3000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 16.949491 h714.000000" /><text class="" x="-5" y="20.4494906557">4000.0</text><title>4000.0</title></g></g><g class="axis x"><path class="line" d="M0.000000 0.000000 v469.000000" /><g class="guides"><path class="guide line" d="M13.730769 0.000000 v469.000000" /><text class="" x="13.7307692308" y="484.0">20.0</text><title>20.0</title></g><g class="guides"><path class="guide line" d="M90.012821 0.000000 v469.000000" /><text class="" x="90.0128205128" y="484.0">40.0</text><title>40.0</title></g><g class="guides"><path class="guide line" d="M166.294872 0.000000 v469.000000" /><text class="" x="166.294871795" y="484.0">60.0</text><title>60.0</title></g><g class="guides"><path class="guide line" d="M242.576923 0.000000 v469.000000" /><text class="" x="242.576923077" y="484.0">80.0</text><title>80.0</title></g><g class="guides"><path class="guide line" d="M318.858974 0.000000 v469.000000" /><text class="" x="318.858974359" y="484.0">100.0</text><title>100.0</title></g><g class="guides"><path class="guide line" d="M395.141026 0.000000 v469.000000" /><text class="" x="395.141025641" y="484.0">120.0</text><title>120.0</title></g><g class="guides"><path class="guide line" d="M471.423077 0.000000 v469.000000" /><text class="" x="471.423076923" y="484.0">140.0</text><title>140.0</title></g><g class="guides"><path class="guide line" d="M547.705128 0.000000 v469.000000" /><text class="" x="547.705128205" y="484.0">160.0</text><title>160.0</title></g><g class="guides"><path class="guide line" d="M623.987179 0.000000 v469.000000" /><text class="" x="623.987179487" y="484.0">180.0</text><title>180.0</title></g><g class="guides"><path class="guide line" d="M700.269231 0.000000 v469.000000" /><text class="" x="700.269230769" y="484.0">200.0</text><title>200.0</title></g></g><g class="series serie-0 color-0"><path class="line reactive nofill" d="M13.730769 459.443594 L90.012821 459.306254 166.294872 459.378247 242.576923 459.173345 395.141026 458.939646 547.705128 458.498830 700.269231 458.329370" /></g><g class="series serie-1 color-1"><path class="line reactive nofill" d="M13.730769 457.396789 L90.012821 456.970372 166.294872 452.799232 242.576923 451.271882 395.141026 447.375422 547.705128 341.546325 700.269231 9.019231" /></g><g class="series serie-2 color-2"><path class="line reactive nofill" d="M13.730769 459.038220 L90.012821 458.333800 166.294872 457.500625 242.576923 456.798143 395.141026 454.915260 547.705128 438.436712 700.269231 420.233941" /></g></g><g class="titles"><text class="title" x="423.0" y="535.0">threads</text></g><g class="plot overlay" transform="translate(66, 20)"><g class="series serie-0 color-0"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.7307692308" cy="459.443593805" r="2.5" /><desc class="value">20: 4.85</desc><desc class="x top">13.7307692308</desc><desc class="y top">459.443593805</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="90.0128205128" cy="459.306254109" r="2.5" /><desc class="value">40: 6.09</desc><desc class="x top">90.0128205128</desc><desc class="y top">459.306254109</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="166.294871795" cy="459.378246692" r="2.5" /><desc class="value">60: 5.44</desc><desc class="x top">166.294871795</desc><desc class="y top">459.378246692</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="242.576923077" cy="459.173344726" r="2.5" /><desc class="value">80: 7.29</desc><desc class="x top">242.576923077</desc><desc class="y top">459.173344726</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="395.141025641" cy="458.939645726" r="2.5" /><desc class="value">120: 9.4</desc><desc class="x left top">395.141025641</desc><desc class="y left top">458.939645726</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="547.705128205" cy="458.498829604" r="2.5" /><desc class="value">160: 13.38</desc><desc class="x left top">547.705128205</desc><desc class="y left top">458.498829604</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="700.269230769" cy="458.32937014" r="2.5" /><desc class="value">200: 14.91</desc><desc class="x left top">700.269230769</desc><desc class="y left top">458.32937014</desc></g></g><g class="series serie-1 color-1"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.7307692308" cy="457.396789298" r="2.5" /><desc class="value">20: 23.33</desc><desc class="x top">13.7307692308</desc><desc class="y top">457.396789298</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="90.0128205128" cy="456.970371693" r="2.5" /><desc class="value">40: 27.18</desc><desc class="x top">90.0128205128</desc><desc class="y top">456.970371693</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="166.294871795" cy="452.799232205" r="2.5" /><desc class="value">60: 64.84</desc><desc class="x top">166.294871795</desc><desc class="y top">452.799232205</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="242.576923077" cy="451.271881872" r="2.5" /><desc class="value">80: 78.63</desc><desc class="x top">242.576923077</desc><desc class="y top">451.271881872</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="395.141025641" cy="447.375421777" r="2.5" /><desc class="value">120: 113.81</desc><desc class="x left top">395.141025641</desc><desc class="y left top">447.375421777</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="547.705128205" cy="341.546325107" r="2.5" /><desc class="value">160: 1069.31</desc><desc class="x left top">547.705128205</desc><desc class="y left top">341.546325107</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="700.269230769" cy="9.01923076923" r="2.5" /><desc class="value">200: 4071.6</desc><desc class="x left">700.269230769</desc><desc class="y left">9.01923076923</desc></g></g><g class="series serie-2 color-2"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.7307692308" cy="459.038220186" r="2.5" /><desc class="value">20: 8.51</desc><desc class="x top">13.7307692308</desc><desc class="y top">459.038220186</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="90.0128205128" cy="458.333800453" r="2.5" /><desc class="value">40: 14.87</desc><desc class="x top">90.0128205128</desc><desc class="y top">458.333800453</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="166.294871795" cy="457.500624754" r="2.5" /><desc class="value">60: 22.3925</desc><desc class="x top">166.294871795</desc><desc class="y top">457.500624754</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="242.576923077" cy="456.798143283" r="2.5" /><desc class="value">80: 28.735</desc><desc class="x top">242.576923077</desc><desc class="y top">456.798143283</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="395.141025641" cy="454.915260349" r="2.5" /><desc class="value">120: 45.735</desc><desc class="x left top">395.141025641</desc><desc class="y left top">454.915260349</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="547.705128205" cy="438.436711943" r="2.5" /><desc class="value">160: 194.515</desc><desc class="x left top">547.705128205</desc><desc class="y left top">438.436711943</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="700.269230769" cy="420.233941179" r="2.5" /><desc class="value">200: 358.8625</desc><desc class="x left top">700.269230769</desc><desc class="y left top">420.233941179</desc></g></g></g><g class="plot text-overlay" transform="translate(66, 20)"><g class="series serie-0 color-0" /><g class="series serie-1 color-1" /><g class="series serie-2 color-2" /></g><g class="plot tooltip-overlay" transform="translate(66, 20)"><g class="tooltip" style="opacity: 0" transform="translate(0 0)"><rect class="tooltip-box" height="0" rx="0" ry="0" width="0" /><g class="text" /></g></g><g class="legends" transform="translate(76, 555)"><g class="legend reactive activate-serie" id="activate-serie-0"><rect class="color-0 reactive" height="12" width="12" x="0.0" y="1.0" /><text x="17.0" y="11.2">min latency, ms</text></g><g class="legend reactive activate-serie" id="activate-serie-1"><rect class="color-1 reactive" height="12" width="12" x="357.0" y="1.0" /><text x="374.0" y="11.2">max latency, ms</text></g><g class="legend reactive activate-serie" id="activate-serie-2"><rect class="color-2 reactive" height="12" width="12" x="0.0" y="22.0" /><text x="17.0" y="32.2">avg latency, ms</text></g></g></g></svg>
\ No newline at end of file
diff --git a/doc/source/test_results/db/mysql/mysql-galera-haproxy/throughput.svg b/doc/source/test_results/db/mysql/mysql-galera-haproxy/throughput.svg
new file mode 100644
index 0000000..31ed283
--- /dev/null
+++ b/doc/source/test_results/db/mysql/mysql-galera-haproxy/throughput.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" class="pygal-chart" id="chart-280e0a01-dd0f-4b64-a37a-1878d91b2780" viewBox="0 0 800 600" xmlns="http://www.w3.org/2000/svg"><!--Generated with pygal 2.1.1 (etree) ©Kozea 2011-2015 on 2016-03-29--><!--http://pygal.org--><!--http://github.com/Kozea/pygal--><defs><style type="text/css">#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780{-webkit-user-select:none;-webkit-font-smoothing:antialiased;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .title{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .legends .legend text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis text.major{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .text-overlay text.value{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .text-overlay text.label{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .tooltip{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 text.no_data{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:64px}
+#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780{background-color:#f9f9fa}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 path,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 line,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 rect,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 circle{-webkit-transition:150ms;-moz-transition:150ms;transition:150ms}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .graph &gt; .background{fill:#f9f9fa}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .plot &gt; .background{fill:#ffffff}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .graph{fill:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 text.no_data{fill:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .title{fill:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .legends .legend text{fill:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .legends .legend:hover text{fill:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis .line{stroke:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis .guide.line{stroke:rgba(0,0,0,0.5)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis .major.line{stroke:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis text.major{fill:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis.y .guides:hover .guide.line,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .line-graph .axis.x .guides:hover .guide.line,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .stackedline-graph .axis.x .guides:hover .guide.line,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .xy-graph .axis.x .guides:hover .guide.line{stroke:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis .guides:hover text{fill:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .reactive{fill-opacity:.6}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .ci{stroke:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .reactive.active,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .active .reactive{fill-opacity:.9;stroke-width:4}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .series text{fill:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .tooltip rect{fill:#ffffff;stroke:rgba(0,0,0,0.9);-webkit-transition:opacity 150ms;-moz-transition:opacity 150ms;transition:opacity 150ms}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .tooltip .legend{font-size:.8em;fill:rgba(0,0,0,0.5)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .tooltip .x_label{font-size:.6em;fill:rgba(0,0,0,0.9)}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .tooltip .xlink{font-size:.5em;text-decoration:underline}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .tooltip .value{font-size:1.5em}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .map-element{fill:#ffffff;stroke:rgba(0,0,0,0.5) !important}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .map-element .reactive{fill-opacity:inherit}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .color-0,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .color-0 a:visited{stroke:#d94e4c;fill:#d94e4c}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .color-1,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .color-1 a:visited{stroke:#e5884f;fill:#e5884f}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .color-2,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .color-2 a:visited{stroke:#39929a;fill:#39929a}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .text-overlay .color-0 text{fill:black}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .text-overlay .color-1 text{fill:black}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .text-overlay .color-2 text{fill:black}
+#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 text.no_data{text-anchor:middle}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .guide.line{fill:none}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .centered{text-anchor:middle}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .title{text-anchor:middle}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .legends .legend text{fill-opacity:1}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis.x text{text-anchor:middle}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis.x:not(.web) text[transform]{text-anchor:start}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis.x:not(.web) text[transform].backwards{text-anchor:end}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis.y text{text-anchor:end}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis.y text[transform].backwards{text-anchor:start}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis.y2 text{text-anchor:start}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis.y2 text[transform].backwards{text-anchor:end}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis .guide.line{stroke-dasharray:4,4}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis .major.guide.line{stroke-dasharray:6,6}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .horizontal .axis.y .guide.line,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .horizontal .axis.y2 .guide.line,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .vertical .axis.x .guide.line{opacity:0}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .horizontal .axis.always_show .guide.line,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .vertical .axis.always_show .guide.line{opacity:1 !important}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis.y .guides:hover .guide.line,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis.y2 .guides:hover .guide.line,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis.x .guides:hover .guide.line{opacity:1}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .axis .guides:hover text{opacity:1}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .nofill{fill:none}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .subtle-fill{fill-opacity:.2}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .dot{stroke-width:1px;fill-opacity:1}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .dot.active{stroke-width:5px}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .dot.negative{fill:transparent}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 text,#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 tspan{stroke:none !important}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .series text.active{opacity:1}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .tooltip rect{fill-opacity:.95;stroke-width:.5}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .tooltip text{fill-opacity:1}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .showable{visibility:hidden}#chart-280e0a01-dd0f-4b64-a37a-1878d91b2780 .showable.shown{visibility:visible}</style><script type="text/javascript">window.pygal = window.pygal || {};window.pygal.config = window.pygal.config || {};window.pygal.config['280e0a01-dd0f-4b64-a37a-1878d91b2780'] = {"dynamic_print_values": false, "y_labels_major_every": null, "y_labels_major_count": null, "inner_radius": 0, "print_values": false, "xrange": null, "box_mode": "extremes", "title": null, "legend_at_bottom_columns": null, "height": 600, "legend_at_bottom": true, "show_legend": true, "show_dots": true, "explicit_size": false, "y_labels_major": null, "show_minor_x_labels": true, "width": 800, "force_uri_protocol": null, "half_pie": false, "style": {"major_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_size": 14, "legend_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "colors": ["#d94e4c", "#e5884f", "#39929a", "#e27876", "#245d62", "#f0bb9b", "#c82d2a", "#234547"], "legend_font_size": 14, "no_data_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "major_label_font_size": 10, "ci_colors": [], "label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "label_font_size": 10, "value_font_size": 16, "font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "opacity": ".6", "foreground": "rgba(0, 0, 0, 0.9)", "plot_background": "#ffffff", "value_label_font_size": 10, "value_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "background": "#f9f9fa", "no_data_font_size": 64, "value_colors": [], "guide_stroke_dasharray": "4,4", "transition": "150ms", "foreground_subtle": "rgba(0, 0, 0, 0.5)", "value_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_size": 16, "major_guide_stroke_dasharray": "6,6", "opacity_hover": ".9", "foreground_strong": "rgba(0, 0, 0, 0.9)"}, "x_label_rotation": 0, "missing_value_fill_truncation": "x", "legends": ["queries per sec", "transactions per sec", "read queries per sec"], "zero": 0, "margin_right": null, "interpolation_parameters": {}, "x_labels_major": null, "rounded_bars": null, "show_y_labels": true, "dots_size": 2.5, "show_y_guides": true, "show_minor_y_labels": true, "x_labels": null, "y_title": null, "order_min": null, "fill": false, "disable_xml_declaration": false, "strict": false, "css": ["file://style.css", "file://graph.css"], "tooltip_fancy_mode": true, "defs": [], "show_only_major_dots": false, "y_label_rotation": 0, "human_readable": false, "min_scale": 4, "show_x_guides": false, "spacing": 10, "x_labels_major_count": null, "pretty_print": false, "tooltip_border_radius": 0, "interpolate": null, "js": ["//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js"], "y_labels": null, "stroke_style": null, "print_labels": false, "interpolation_precision": 250, "x_title": "threads", "value_formatter": null, "logarithmic": false, "max_scale": 16, "print_zeroes": true, "no_data_text": "No data", "truncate_legend": null, "x_labels_major_every": null, "secondary_range": null, "legend_box_size": 12, "no_prefix": false, "stroke": true, "x_value_formatter": null, "include_x_axis": true, "range": null, "truncate_label": null, "margin_top": null, "margin_left": null, "show_x_labels": true, "margin_bottom": null, "inverse_y_axis": false, "margin": 20, "stack_from_top": false, "print_values_position": "center"}</script><script type="text/javascript" xlink:href="//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js" /></defs><title>Pygal</title><g class="graph xy-graph vertical"><rect class="background" height="600" width="800" x="0" y="0" /><g class="plot" transform="translate(72, 20)"><rect class="background" height="469.0" width="708.0" x="0" y="0" /><g class="axis y"><g class="guides"><path class="major line" d="M0.000000 459.980769 h708.000000" /><text class="major" x="-5" y="463.480769231">0.0</text><title>0.0</title></g><g class="guides"><path class="guide line" d="M0.000000 382.838866 h708.000000" /><text class="" x="-5" y="386.338865894">10000.0</text><title>10000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 305.696963 h708.000000" /><text class="" x="-5" y="309.196962556">20000.0</text><title>20000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 228.555059 h708.000000" /><text class="" x="-5" y="232.055059219">30000.0</text><title>30000.0</title></g><g class="guides"><path class="guide line" d="M0.000000 151.413156 h708.000000" /><text class="" x="-5" y="154.913155882">40000.0</text><title>40000.0</title></g><g class="guides"><path class="major guide line" d="M0.000000 74.271253 h708.000000" /><text class="major" x="-5" y="77.771252545">50000.0</text><title>50000.0</title></g></g><g class="axis x"><path class="line" d="M0.000000 0.000000 v469.000000" /><g class="guides"><path class="guide line" d="M13.615385 0.000000 v469.000000" /><text class="" x="13.6153846154" y="484.0">20.0</text><title>20.0</title></g><g class="guides"><path class="guide line" d="M89.256410 0.000000 v469.000000" /><text class="" x="89.2564102564" y="484.0">40.0</text><title>40.0</title></g><g class="guides"><path class="guide line" d="M164.897436 0.000000 v469.000000" /><text class="" x="164.897435897" y="484.0">60.0</text><title>60.0</title></g><g class="guides"><path class="guide line" d="M240.538462 0.000000 v469.000000" /><text class="" x="240.538461538" y="484.0">80.0</text><title>80.0</title></g><g class="guides"><path class="guide line" d="M316.179487 0.000000 v469.000000" /><text class="" x="316.179487179" y="484.0">100.0</text><title>100.0</title></g><g class="guides"><path class="guide line" d="M391.820513 0.000000 v469.000000" /><text class="" x="391.820512821" y="484.0">120.0</text><title>120.0</title></g><g class="guides"><path class="guide line" d="M467.461538 0.000000 v469.000000" /><text class="" x="467.461538462" y="484.0">140.0</text><title>140.0</title></g><g class="guides"><path class="guide line" d="M543.102564 0.000000 v469.000000" /><text class="" x="543.102564103" y="484.0">160.0</text><title>160.0</title></g><g class="guides"><path class="guide line" d="M618.743590 0.000000 v469.000000" /><text class="" x="618.743589744" y="484.0">180.0</text><title>180.0</title></g><g class="guides"><path class="guide line" d="M694.384615 0.000000 v469.000000" /><text class="" x="694.384615385" y="484.0">200.0</text><title>200.0</title></g></g><g class="series serie-0 color-0"><path class="line reactive nofill" d="M13.615385 79.428574 L89.256410 24.284842 164.897436 25.941336 240.538462 9.019231 391.820513 34.863826 543.102564 326.535819 694.384615 369.476474" /></g><g class="series serie-1 color-1"><path class="line reactive nofill" d="M13.615385 441.859236 L89.256410 439.233454 164.897436 439.312653 240.538462 438.506520 391.820513 439.737962 543.102564 453.626462 694.384615 455.672008" /></g><g class="series serie-2 color-2"><path class="line reactive nofill" d="M13.615385 206.279306 L89.256410 169.516561 164.897436 170.619947 240.538462 159.339486 391.820513 176.567073 543.102564 371.016869 694.384615 399.641915" /></g></g><g class="titles"><text class="title" x="426.0" y="535.0">threads</text></g><g class="plot overlay" transform="translate(72, 20)"><g class="series serie-0 color-0"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.6153846154" cy="79.4285744926" r="2.5" /><desc class="value">20: 49331.45</desc><desc class="x ">13.6153846154</desc><desc class="y ">79.4285744926</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="89.2564102564" cy="24.2848420206" r="2.5" /><desc class="value">40: 56479.8</desc><desc class="x ">89.2564102564</desc><desc class="y ">24.2848420206</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="164.897435897" cy="25.9413358249" r="2.5" /><desc class="value">60: 56265.0666667</desc><desc class="x ">164.897435897</desc><desc class="y ">25.9413358249</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="240.538461538" cy="9.01923076923" r="2.5" /><desc class="value">80: 58458.7</desc><desc class="x ">240.538461538</desc><desc class="y ">9.01923076923</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="391.820512821" cy="34.8638255046" r="2.5" /><desc class="value">120: 55108.4333333</desc><desc class="x left">391.820512821</desc><desc class="y left">34.8638255046</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="543.102564103" cy="326.535819184" r="2.5" /><desc class="value">160: 17298.6333333</desc><desc class="x left top">543.102564103</desc><desc class="y left top">326.535819184</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="694.384615385" cy="369.476473967" r="2.5" /><desc class="value">200: 11732.1833333</desc><desc class="x left top">694.384615385</desc><desc class="y left top">369.476473967</desc></g></g><g class="series serie-1 color-1"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.6153846154" cy="441.859236148" r="2.5" /><desc class="value">20: 2349.11666667</desc><desc class="x top">13.6153846154</desc><desc class="y top">441.859236148</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="89.2564102564" cy="439.233454328" r="2.5" /><desc class="value">40: 2689.5</desc><desc class="x top">89.2564102564</desc><desc class="y top">439.233454328</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="164.897435897" cy="439.312653349" r="2.5" /><desc class="value">60: 2679.23333333</desc><desc class="x top">164.897435897</desc><desc class="y top">439.312653349</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="240.538461538" cy="438.506520459" r="2.5" /><desc class="value">80: 2783.73333333</desc><desc class="x top">240.538461538</desc><desc class="y top">438.506520459</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="391.820512821" cy="439.737962376" r="2.5" /><desc class="value">120: 2624.1</desc><desc class="x left top">391.820512821</desc><desc class="y left top">439.737962376</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="543.102564103" cy="453.626462083" r="2.5" /><desc class="value">160: 823.716666667</desc><desc class="x left top">543.102564103</desc><desc class="y left top">453.626462083</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="694.384615385" cy="455.67200822" r="2.5" /><desc class="value">200: 558.55</desc><desc class="x left top">694.384615385</desc><desc class="y left top">455.67200822</desc></g></g><g class="series serie-2 color-2"><g class="dots"><circle class="dot reactive tooltip-trigger" cx="13.6153846154" cy="206.279306072" r="2.5" /><desc class="value">20: 32887.6333333</desc><desc class="x ">13.6153846154</desc><desc class="y ">206.279306072</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="89.2564102564" cy="169.516560618" r="2.5" /><desc class="value">40: 37653.2333333</desc><desc class="x ">89.2564102564</desc><desc class="y ">169.516560618</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="164.897435897" cy="170.619946975" r="2.5" /><desc class="value">60: 37510.2</desc><desc class="x ">164.897435897</desc><desc class="y ">170.619946975</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="240.538461538" cy="159.33948645" r="2.5" /><desc class="value">80: 38972.5</desc><desc class="x ">240.538461538</desc><desc class="y ">159.33948645</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="391.820512821" cy="176.567073443" r="2.5" /><desc class="value">120: 36739.2666667</desc><desc class="x left">391.820512821</desc><desc class="y left">176.567073443</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="543.102564103" cy="371.016869207" r="2.5" /><desc class="value">160: 11532.5</desc><desc class="x left top">543.102564103</desc><desc class="y left top">371.016869207</desc></g><g class="dots"><circle class="dot reactive tooltip-trigger" cx="694.384615385" cy="399.641915279" r="2.5" /><desc class="value">200: 7821.8</desc><desc class="x left top">694.384615385</desc><desc class="y left top">399.641915279</desc></g></g></g><g class="plot text-overlay" transform="translate(72, 20)"><g class="series serie-0 color-0" /><g class="series serie-1 color-1" /><g class="series serie-2 color-2" /></g><g class="plot tooltip-overlay" transform="translate(72, 20)"><g class="tooltip" style="opacity: 0" transform="translate(0 0)"><rect class="tooltip-box" height="0" rx="0" ry="0" width="0" /><g class="text" /></g></g><g class="legends" transform="translate(82, 555)"><g class="legend reactive activate-serie" id="activate-serie-0"><rect class="color-0 reactive" height="12" width="12" x="0.0" y="1.0" /><text x="17.0" y="11.2">queries per sec</text></g><g class="legend reactive activate-serie" id="activate-serie-1"><rect class="color-1 reactive" height="12" width="12" x="354.0" y="1.0" /><text x="371.0" y="11.2">transactions per sec</text></g><g class="legend reactive activate-serie" id="activate-serie-2"><rect class="color-2 reactive" height="12" width="12" x="0.0" y="22.0" /><text x="17.0" y="32.2">read queries per sec</text></g></g></g></svg>
\ No newline at end of file
diff --git a/doc/source/test_results/db/mysql/mysql-galera-haproxy/topology.svg b/doc/source/test_results/db/mysql/mysql-galera-haproxy/topology.svg
new file mode 100644
index 0000000..5431fdf
--- /dev/null
+++ b/doc/source/test_results/db/mysql/mysql-galera-haproxy/topology.svg
@@ -0,0 +1,297 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="580"
+   height="350"
+   viewBox="0 0 580.00001 350"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="topology.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5392"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
+         id="path5394" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker5386"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path5388"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5380"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
+         id="path5382" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker4607"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
+         id="path4609"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path4250"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4244"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
+         style="fill:#44aa00;fill-opacity:1;fill-rule:evenodd;stroke:#44aa00;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.98994949"
+     inkscape:cx="323.60285"
+     inkscape:cy="205.89558"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1280"
+     inkscape:window-height="752"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     units="px"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-71.73098,-42.362206)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="M 355.57369,195.79345 552.55344,152.3569"
+       id="path4235"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <rect
+       style="fill:#b3ff80;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4140"
+       width="115.15739"
+       height="78.286819"
+       x="112.12693"
+       y="73.202057" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="126.16592"
+       y="121.84962"
+       id="text4142"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4144"
+         x="126.16592"
+         y="121.84962">Node-1</tspan></text>
+    <rect
+       y="73.202057"
+       x="304.05591"
+       height="78.286819"
+       width="115.15739"
+       id="rect4146"
+       style="fill:#b3ff80;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text4148"
+       y="121.84962"
+       x="318.09491"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         y="121.84962"
+         x="318.09491"
+         id="tspan4150"
+         sodipodi:role="line">Node-2</tspan></text>
+    <rect
+       y="73.202057"
+       x="495.98492"
+       height="78.286819"
+       width="115.15739"
+       id="rect4152"
+       style="fill:#b3ff80;fill-opacity:0.59215686;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text4154"
+       y="121.84962"
+       x="510.02386"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         y="121.84962"
+         x="510.02386"
+         id="tspan4156"
+         sodipodi:role="line">Node-3</tspan></text>
+    <rect
+       y="303.93655"
+       x="280.10129"
+       height="64.96006"
+       width="157.38901"
+       id="rect4158"
+       style="fill:none;fill-opacity:0.59215686;stroke:#000000;stroke-width:3.19478345;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text4160"
+       y="343.35477"
+       x="302.04288"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         y="343.35477"
+         x="302.04288"
+         id="tspan4162"
+         sodipodi:role="line">sysbench</tspan></text>
+    <rect
+       style="fill:none;fill-opacity:0.59215686;stroke:#808080;stroke-width:1.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32704408"
+       id="rect4225"
+       width="578"
+       height="348"
+       x="72.73098"
+       y="43.362206" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 227.14286,102.07649 76.42857,0"
+       id="path4591"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4593"
+       d="m 227.14286,122.07649 76.42857,0"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4595"
+       d="m 419.14286,102.07649 76.42857,0"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 419.14286,122.07649 76.42857,0"
+       id="path4597"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="fill:#e580ff;fill-opacity:0.59215686;stroke:#000000;stroke-width:3.06309605;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect5372"
+       width="144.38872"
+       height="65.091743"
+       x="287.86411"
+       y="195.44176" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.59143066px;line-height:125%;font-family:'Droid Serif';-inkscape-font-specification:'Droid Serif';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="311.13425"
+       y="236.27859"
+       id="text5374"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan5376"
+         x="311.13425"
+         y="236.27859">HAproxy</tspan></text>
+    <path
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path5378"
+       d="M 363.93767,195.79345 166.95792,152.3569"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5380)" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5386)"
+       d="m 363.93767,195.79345 0,-42.4264"
+       id="path5384"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path5390"
+       d="m 362.92752,305.90008 0,-42.4264"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5392)" />
+  </g>
+</svg>
diff --git a/doc/source/test_results/index.rst b/doc/source/test_results/index.rst
index caef5fa..27a8dfa 100644
--- a/doc/source/test_results/index.rst
+++ b/doc/source/test_results/index.rst
@@ -11,3 +11,4 @@ Test Results
 
     mq_ha/index
     container_repositories/index
+    db/mysql/index