
* Edit index.rst to dynamically import sub-pages * Rename results folders to be similar to test plans folders * Rename results headers to be similar to test plans headers Co-Authored-By: David Burnazyan <dburnazyan@mirantis.com> Closes-Bug: #1609923 Change-Id: I7d0d9a534c931a85ea7b074cee5429d1175f038b
13 KiB
OpenStack control plane performance report
- Abstract
This document includes OpenStack control plane performance test results. All tests have been performed regarding
openstack_control_plane_performance_test_plan
Environment description
Environment contains 4 types of servers:
- rally node
- controller node
- compute-osd node
- compute node
Role | Servers count |
---|---|
rally | 1 |
controller | 3 |
compute | 176 |
compute-osd | 20 |
Hardware configuration of each server
All servers have same configuration describing in table below
server | vendor,model | HP,DL380 Gen9 |
|
vendor,model ----------------+ processor_count ----------------+ core_count ----------------+ frequency_MHz | Intel,E5-2680 v3 -------------------------------+ 2 -------------------------------+ 12 -------------------------------+ 2500 |
|
vendor,model ----------------+ amount_MB | HP,752369-081 -------------------------------+ 262144 |
|
interface_name ----------------+ vendor,model ----------------+ bandwidth | p1p1 -------------------------------+ Intel,X710 Dual Port -------------------------------+ 10G |
|
dev_name ----------------+ vendor,model ----------------+ SSD/HDD ----------------+ size |
/dev/sda -------------------------------+ | raid10 - HP P840 | 12 disks EH0600JEDHE -------------------------------+ HDD -------------------------------+ 3,6TB |
Network configuration of each server
All servers have same network configuration:
Here is the part of switch configuration for each switch port which connected to ens1f0 interface of a server:
switchport mode trunk
switchport trunk native vlan 600
switchport trunk allowed vlan 600-602,630-649
spanning-tree port type edge trunk
spanning-tree bpduguard enable
no snmp trap link-status
Software configuration on servers with controller, compute and compute-osd roles
Role | Service name |
---|---|
controller | horizon keystone nova-api nava-scheduler nova-cert nova-conductor nova-consoleauth nova-consoleproxy cinder-api cinder-backup cinder-scheduler cinder-volume glance-api glance-glare glance-registry neutron-dhcp-agent neutron-l3-agent neutron-metadata-agent neutron-openvswitch-agent neutron-server heat-api heat-api-cfn heat-api-cloudwatch ceph-mon rados-gw memcached rabbitmq_server mysqld galera corosync pacemaker haproxy |
compute | nova-compute neutron-l3-agent neutron-metadata-agent neutron-openvswitch-agent |
compute-osd | nova-compute neutron-l3-agent neutron-metadata-agent neutron-openvswitch-agent ceph-osd |
Software | Version |
---|---|
OpenStack | Mitaka |
Ceph | Hammer |
Ubuntu | Ubuntu 14.04.3 LTS |
You can find outputs of some commands and /etc folder in the following archives:
controller-1.tar.gz <configs/controller-1.tar.gz>
controller-2.tar.gz <configs/controller-2.tar.gz>
controller-3.tar.gz <configs/controller-3.tar.gz>
compute-1.tar.gz <configs/compute-1.tar.gz>
compute-osd-1.tar.gz <configs/compute-osd-1.tar.gz>
Software configuration on servers with rally role
On this server should be installed Rally. How to do it you can find in Rally installation documentation
Software | Version |
---|---|
Rally | 0.4.0 |
Ubuntu | Ubuntu 14.04.3 LTS |
Testing process
Name | Value |
---|---|
Volume size to create in Cinder | 1GB |
Flavor to create VM from | m1.tiny |
Image name to create VM from | cirros |
Create work directory on server with Rally role. In future we will call that directory as WORK_DIR
Create directory "plugins" in WORK_DIR and copy to that directory
nova_performance.py <../../test_plans/control_plane/plugins/nova_performance.py>
plugin.Create directory "scenarios" in WORK_DIR and copy to that directory
boot_attach_live_migrate_and_delete_server_with_secgroups.json <rally_scenarios/boot_attach_live_migrate_and_delete_server_with_secgroups.json>
,create-and-delete-image.json <rally_scenarios/create-and-delete-image.json>
andkeystone.json <rally_scenarios/keystone.json>
scenarios.Create deployment.json file in WORK_DIR and fill it with OpenStack environment info. It should looks like this:
configs/deployment.json
Create job-params.yaml file in WORK_DIR and fill it with scenarios info. It should looks like this:
configs/job-params.yaml
Perform tests:
configs/run_test_script.sh
As a result of this part we got the following HTML file:
rally_report.html <configs/rally_report.html>
Test results
All values in tables below are in seconds.
Cinder
Operation | Mean (sec) | 90%ile (sec) | 50%ile (sec) | Max (sec) | Min (sec) |
---|---|---|---|---|---|
create_volume | 2.619 | 2.754 | 2.593 | 2.988 | 2.453 |
delete_volume | 2.339 | 2.449 | 2.323 | 2.666 | 2.200 |
Glance
Operation | Mean (sec) | 90%ile (sec) | 50%ile (sec) | Max (sec) | Min (sec) |
---|---|---|---|---|---|
create_image | 44.204 | 56.243 | 43.835 | 74.826 | 22.382 |
delete_image | 1.579 | 2.049 | 1.540 | 3.846 | 0.718 |
Keystone
Operation | Mean (sec) | 90%ile (sec) | 50%ile (sec) | Max (sec) | Min (sec) |
---|---|---|---|---|---|
authenticate | 0.099 | 0.135 | 0.093 | 0.718 | 0.054 |
Neutron
Operation | Mean (sec) | 90%ile (sec) | 50%ile (sec) | Max (sec) | Min (sec) |
---|---|---|---|---|---|
create_20_rules | 4.535 | 4.883 | 4.515 | 5.577 | 3.873 |
create_2_security_groups | 0.412 | 0.477 | 0.401 | 0.670 | 0.292 |
delete_2_security_groups | 0.380 | 0.480 | 0.371 | 0.771 | 0.234 |
Nova
Operation | Mean (sec) | 90%ile (sec) | 50%ile (sec) | Max (sec) | Min (sec) |
---|---|---|---|---|---|
attach_volume | 2.806 | 2.985 | 2.781 | 3.294 | 2.563 |
boot_server | 11.989 | 12.937 | 11.953 | 14.265 | 9.482 |
delete_server | 2.531 | 2.670 | 2.467 | 4.817 | 2.348 |
detach_volume | 2.701 | 2.861 | 2.684 | 3.201 | 2.464 |
find_host_to_migrate | 0.554 | 0.682 | 0.520 | 0.954 | 0.419 |
live_migrate | 15.351 | 15.715 | 15.221 | 28.692 | 12.623 |