6.4.2. OpenStack control plane performance report for 200 nodes¶
- Abstract
This document includes OpenStack control plane performance test results for 200 nodes. All tests have been performed regarding OpenStack control plane performance test plan
6.4.2.1. 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 |
6.4.2.1.1. Hardware configuration of each server¶
All servers have same configuration describing in table below
server |
vendor,model |
HP,DL380 Gen9 |
CPU |
vendor,model |
Intel,E5-2680 v3 |
processor_count |
2 |
|
core_count |
12 |
|
frequency_MHz |
2500 |
|
RAM |
vendor,model |
HP,752369-081 |
amount_MB |
262144 |
|
NETWORK |
interface_name |
p1p1 |
vendor,model |
Intel,X710 Dual Port |
|
bandwidth |
10G |
|
STORAGE |
dev_name |
/dev/sda |
vendor,model |
raid10 - HP P840
12 disks EH0600JEDHE
|
|
SSD/HDD |
HDD |
|
size |
3,6TB |
6.4.2.1.2. 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
6.4.2.1.3. 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:
6.4.2.1.4. 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 |
6.4.2.2. 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
plugin.Create directory “scenarios” in WORK_DIR and copy to that directory
boot_attach_live_migrate_and_delete_server_with_secgroups.json
,create-and-delete-image.json
andkeystone.json
scenarios.Create deployment.json file in WORK_DIR and fill it with OpenStack environment info. It should looks like this:
{ "admin": { "password": "password", "tenant_name": "tenant", "username": "user" }, "auth_url": "http://1.2.3.4:5000/v2.0", "region_name": "RegionOne", "type": "ExistingCloud", "endpoint_type": "internal", "admin_port": 35357, "https_insecure": true }
Create job-params.yaml file in WORK_DIR and fill it with scenarios info. It should looks like this:
--- concurrency: 5 compute: 196 gre_enabled: false http_server_with_glance_images: "1.2.3.4"
Perform tests:
${WORK_DIR:?} DEPLOYMENT_NAME="$(uuidgen)" DEPLOYMENT_CONFIG="${WORK_DIR}/deployment.json" PLUGIN_PATH="${WORK_DIR}/plugins/nova_scale.py" JOB_PARAMS_CONFIG="${WORK_DIR}/job-params.yaml" rally deployment create --filename $(DEPLOYMENT_CONFIG) --name $(DEPLOYMENT_NAME) SCENARIOS="boot_attach_live_migrate_and_delete_server_with_secgroups create-and-delete-image keystone.json" for scenario in SCENARIOS; do rally --plugin-paths ${PLUGINS_PATH} task start --tag ${scenario} --task-args-file ${JOB_PARAMS_CONFIG} ${WORK_DR}/scenarios/${scenario} done task_list="$(rally task list --uuids-only)" rally task report --tasks ${task_list} --out=${WORK_DIR}/rally_report.html
As a result of this part we got the following HTML file:
6.4.2.3. Test results¶
All values in tables below are in seconds.
6.4.2.3.1. 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 |
6.4.2.3.2. 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 |
6.4.2.3.3. 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 |
6.4.2.3.4. 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 |
6.4.2.3.5. 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 |