Add 1000 nodes fake driver scalability test results
Change-Id: Id99f706782b837b736dbbaa323e06726ec8449e4
This commit is contained in:
@@ -207,3 +207,4 @@ Reports
|
|||||||
|
|
||||||
Test plan execution reports:
|
Test plan execution reports:
|
||||||
* :ref:`1000_nodes_report`
|
* :ref:`1000_nodes_report`
|
||||||
|
* :ref:`1000_nodes_fake_driver_report`
|
||||||
|
@@ -0,0 +1,199 @@
|
|||||||
|
.. raw:: pdf
|
||||||
|
|
||||||
|
PageBreak oneColumn
|
||||||
|
|
||||||
|
.. _1000_nodes_fake_driver_report:
|
||||||
|
|
||||||
|
1000 Compute nodes fake driver resource scalability testing
|
||||||
|
===========================================================
|
||||||
|
|
||||||
|
This report is generated for :ref:`1000_nodes` test plan.
|
||||||
|
|
||||||
|
Environment setup
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
The results presented in this study are based on experiments made with the
|
||||||
|
OpenStack Mitaka release. The system has been deployed leveraging a dedicated
|
||||||
|
set of scripts [#]_ built on top of Kolla framework [#]_. Each service is
|
||||||
|
encapsulated in a dedicated container and have been started accross 26 physical
|
||||||
|
servers. Note that we are only interested in evaluating the scalability of the
|
||||||
|
control plane, for this purpose we use the nova fake drivers at the compute
|
||||||
|
level.
|
||||||
|
|
||||||
|
The OpenStack services placement is described (numbers in
|
||||||
|
parenthesis indicate the number of instances/containers) in the following listing :
|
||||||
|
|
||||||
|
- control (1 physical server)
|
||||||
|
|
||||||
|
- neutron_server (1)
|
||||||
|
- nova_novncproxy (1)
|
||||||
|
- nova_consoleauth (1)
|
||||||
|
- nova_api (1)
|
||||||
|
- glance_api (1)
|
||||||
|
- glance_registry (1)
|
||||||
|
- keystone (1)
|
||||||
|
- memcached (1)
|
||||||
|
|
||||||
|
- network (1 physical server)
|
||||||
|
|
||||||
|
- neutron_metadata_agent (1)
|
||||||
|
- neutron_l3_agent (1)
|
||||||
|
- neutron_dhcp_agent (1)
|
||||||
|
- neutron_openvswitch_agent (1)
|
||||||
|
- neutron_openvswitch_agent (1)
|
||||||
|
- openvswitch_db (1)
|
||||||
|
- keepalived (1)
|
||||||
|
- haproxy (1)
|
||||||
|
|
||||||
|
- compute (20 physical servers)
|
||||||
|
|
||||||
|
- nova_ssh (1)
|
||||||
|
- nova_libvirt (1)
|
||||||
|
- nova_compute (50)
|
||||||
|
- openvswitch_db (1)
|
||||||
|
- openvswitch_vswitchd (1)
|
||||||
|
- neutron_openvswitch_agent (1)
|
||||||
|
|
||||||
|
- rabbitmq-node (3 physical servers)
|
||||||
|
|
||||||
|
- rabbitmq (1)
|
||||||
|
|
||||||
|
- scheduler (1 physical server)
|
||||||
|
|
||||||
|
- nova_scheduler(8)
|
||||||
|
|
||||||
|
|
||||||
|
Additional information
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
The experiment was run on the Grid'5000 [#]_ platform using the following hardware and network.
|
||||||
|
|
||||||
|
Hardware
|
||||||
|
~~~~~~~~~
|
||||||
|
|
||||||
|
|
||||||
|
+-----------+-----------------------------------------------------+
|
||||||
|
| Parameter | Comments |
|
||||||
|
+-----------+-----------------------------------------------------+
|
||||||
|
| model | Dell PowerEdge R630 |
|
||||||
|
+-----------+-----------------------------------------------------+
|
||||||
|
| CPU | 26 x Intel(R) Xeon(R) CPU E5-2630 v3 2.40 GHz |
|
||||||
|
+-----------+-----------------------------------------------------+
|
||||||
|
|
||||||
|
Network
|
||||||
|
~~~~~~~
|
||||||
|
|
||||||
|
+------------------+--------------------------+
|
||||||
|
| Parameter | Comments |
|
||||||
|
+------------------+--------------------------+
|
||||||
|
| card model | Intel |
|
||||||
|
+------------------+--------------------------+
|
||||||
|
| driver | ixgbe |
|
||||||
|
+------------------+--------------------------+
|
||||||
|
| speed | 10G |
|
||||||
|
+------------------+--------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Methodology
|
||||||
|
-----------
|
||||||
|
|
||||||
|
For the sake of simplicity the experiments have been limited to the “boot and
|
||||||
|
delete VM” and “boot and list VM” scenarios in Rally with the following
|
||||||
|
relevant parameters:
|
||||||
|
|
||||||
|
- Total number of instances: 10000
|
||||||
|
- Total number of workers: 50
|
||||||
|
- Total number of tenants: 2
|
||||||
|
- Total number of users: 3
|
||||||
|
|
||||||
|
First OpenStack has been deployed following the described topology of services.
|
||||||
|
The deployment took approximately 40 min. The OpenStack deployment is
|
||||||
|
instrumented to gather various metrics from the experiment. For this purpose,
|
||||||
|
monitoring agents, cadvisor and collectd, have been used together with InfluxDB
|
||||||
|
to collect metrics. In order to mitigate the monitoring traffic overhead,
|
||||||
|
metrics have been gathered every 5s for the following roles : control, network,
|
||||||
|
rabbitmq and only one node from the compute role.
|
||||||
|
|
||||||
|
HAproxy is used in front of all the OpenStack APIs and MariaDB. To avoid
|
||||||
|
possible penalties, *maxconn* has been set at a high value globally and on
|
||||||
|
each frontend respectively. We use 100000 and 20000 respectively. Keystone and
|
||||||
|
neutron workers number has been increased to 50 respectively. Other parameters
|
||||||
|
was those given by Kolla (2.0.2) at the time of the experiment.
|
||||||
|
|
||||||
|
Findings
|
||||||
|
--------
|
||||||
|
|
||||||
|
Table 1. Services top watermarks in terms of CPU and RAM.
|
||||||
|
|
||||||
|
+-----------------+---------+----------+
|
||||||
|
| Service | CORES | RAM |
|
||||||
|
+=================+=========+==========+
|
||||||
|
| nova-api | 15 | 7.49 GB |
|
||||||
|
+-----------------+---------+----------+
|
||||||
|
| nova-scheduler* | 0.6 | 410 MB |
|
||||||
|
+-----------------+---------+----------+
|
||||||
|
| nova-conductor | 17 | 3.7 GB |
|
||||||
|
+-----------------+---------+----------+
|
||||||
|
| glance-api | 0.1 | 1.6 GB |
|
||||||
|
+-----------------+---------+----------+
|
||||||
|
| glance-registry | 0.15 | 1.4 GB |
|
||||||
|
+-----------------+---------+----------+
|
||||||
|
| neutron-server | 7 | 2.6 GB |
|
||||||
|
+-----------------+---------+----------+
|
||||||
|
| keystone | 0.5 | 1.8 GB |
|
||||||
|
+-----------------+---------+----------+
|
||||||
|
| rabbitmq** | 2 | 6 GB |
|
||||||
|
+-----------------+---------+----------+
|
||||||
|
| mysqld | 1 | 3.1 GB |
|
||||||
|
+-----------------+---------+----------+
|
||||||
|
| memcached | 0.6 | 80 MB |
|
||||||
|
+-----------------+---------+----------+
|
||||||
|
|
||||||
|
|
||||||
|
Table 2. Top number of connections
|
||||||
|
|
||||||
|
+-----------------+------------+
|
||||||
|
| Service | Connections|
|
||||||
|
+=================+============+
|
||||||
|
| rabbitmq ** | 7.6 K |
|
||||||
|
+-----------------+------------+
|
||||||
|
| mariadb | 2.245 K |
|
||||||
|
+-----------------+------------+
|
||||||
|
| memcached | 879 |
|
||||||
|
+-----------------+------------+
|
||||||
|
|
||||||
|
| * approx. each of eight nova-scheduler processes (see below)
|
||||||
|
| ** approx. each of the three rabbitmq nodes (see below)
|
||||||
|
|
||||||
|
|
||||||
|
Figures below show two distincts phases corresponding to the two benchmarks. In
|
||||||
|
addition to the previous report :ref:`1000_nodes_report`, it appears that the
|
||||||
|
number of connections that rabbitmq has to manage is a critical metric.
|
||||||
|
Especially when running in a non-clustered setup as it may result in hitting
|
||||||
|
the limitation of the system (e.g open files).
|
||||||
|
|
||||||
|
|
||||||
|
The rally report is available :
|
||||||
|
|
||||||
|
:download:`reports/rally_report.html <./reports/rally_report.html>`
|
||||||
|
|
||||||
|
|
||||||
|
Graphs:
|
||||||
|
|
||||||
|
.. image:: figs/nova.png
|
||||||
|
:width: 1300px
|
||||||
|
.. image:: figs/glance.png
|
||||||
|
:width: 1300px
|
||||||
|
.. image:: figs/rabbit-mariadb-memcached.png
|
||||||
|
:width: 1300px
|
||||||
|
.. image:: figs/others.png
|
||||||
|
:width: 1300px
|
||||||
|
|
||||||
|
|
||||||
|
References
|
||||||
|
~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. [#] https://github.com/openstack/kolla
|
||||||
|
.. [#] https://github.com/BeyondTheClouds/kolla-g5k
|
||||||
|
.. [#] https://www.grid5000.fr/mediawiki/index.php/Grid5000:Home
|
||||||
|
|
BIN
doc/source/test_results/1000_nodes/fake_drivers/figs/glance.png
Normal file
BIN
doc/source/test_results/1000_nodes/fake_drivers/figs/glance.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 232 KiB |
BIN
doc/source/test_results/1000_nodes/fake_drivers/figs/nova.png
Normal file
BIN
doc/source/test_results/1000_nodes/fake_drivers/figs/nova.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 469 KiB |
BIN
doc/source/test_results/1000_nodes/fake_drivers/figs/others.png
Normal file
BIN
doc/source/test_results/1000_nodes/fake_drivers/figs/others.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 374 KiB |
Binary file not shown.
After Width: | Height: | Size: 571 KiB |
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user