Difference between revisions of "Neutron Trunk API Performance and Scaling"
(→add subports after boot, one by one) |
(→add subports before boot, all at once) |
||
Line 158: | Line 158: | ||
=== add subports before boot, all at once === | === add subports before boot, all at once === | ||
+ | |||
+ | The time to create a trunk with N subports is clearly a linear function of N. No errors in the measured range. | ||
[[Image:01-before-boot-trunk-create.svg]] | [[Image:01-before-boot-trunk-create.svg]] |
Revision as of 15:21, 2 December 2016
Back to Neutron/TrunkPort
Contents
Testbed
underlying hardware
CPU | Intel(R) Core(TM) i7-4600M CPU @ 2.90GHz |
RAM | DDR3 Synchronous 1600 MHz |
VM running devstack
vCPU count | 2 |
RAM | 6 GiB |
software versions
2016 late november, cc. 6 weeks after the newton release
ubuntu | 16.04.1 |
openvswitch | 2.5.0-0ubuntu1 |
devstack | a3bb131 |
neutron | b8347e1 |
nova | 2249898 |
python-neutronclient | 36ad0b7 |
python-novaclient | 6.0.0 |
python-openstackclient | 3.3.0 |
local.conf
only the relevant parts
[[post-config|/etc/neutron/neutron.conf]] [DEFAULT] service_plugins = trunk,... rpc_response_timeout = 600 [quotas] default_quota = -1 quota_network = -1 quota_subnet = -1 quota_port = -1 [[post-config|/etc/neutron/plugins/ml2/ml2_conf.ini]] [ml2] mechanism_drivers = openvswitch,linuxbridge tenant_network_types = vxlan,vlan [ovs] ovsdb_interface = native of_interface = native datapath_type = system [securitygroup] firewall_driver = openvswitch [[post-config|/etc/neutron/dhcp_agent.ini]] [DEFAULT] enable_isolated_metadata = false [[post-config|/etc/neutron/l3_agent.ini]] [DEFAULT] enable_metadata_proxy = false [[post-config|/etc/nova/nova.conf]] [DEFAULT] # NOTE this could have probably stayed the default and not make a difference vif_plugging_timeout = 300
workflow variations
pseudocode of test scenarios
add subports before boot, all at once
for 1 parent port: network create subnet create port create for N subports: network create subnet create port create trunk create with N subports server create with parent port
N = 1, 2, 4, 8, 16, 32, 64, 128, 256, 512
add subports after boot, one by one
for 1 parent port: network create subnet create port create trunk create with 0 subports server create with parent port for N subports: network create subnet create port create trunk set (add one subport) port list port list --device-id server-uuid server show
N = 1, 2, 4, 8, 16, 32, 64, 128, 256, 512
add subports after boot, in batches
for 1 parent port: network create subnet create port create trunk create with 0 subports server create with parent port for N batches of subports: for M subports in a batch: network create subnet create port create trunk set (add M subports) port list port list --device-id server-uuid server show
N, M = FIXME
test results
add subports before boot, all at once
The time to create a trunk with N subports is clearly a linear function of N. No errors in the measured range.