Marking as Won't Fix for now because 50ms for a single get_port seems reasonable. Anything that needs bulk port retrievals should be using get_ports which will still emit the same number of queries regardless of port count.
** Summary changed: - neutron performance degradation + neutron get_port performance degradation ** Changed in: neutron Status: New => Won't Fix -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1667203 Title: neutron get_port performance degradation Status in neutron: Won't Fix Bug description: I test the runtime of neutron get_port() in Newton and Juno, the Newton need more than twice as much as Juno, Newton need about 55ms, and Juno need about 20ms. I log the time before https://github.com/openstack/neutron/blob/master/neutron/db/db_base_plugin_v2.py#L1300 and after this time. I guess any database operation need more time in Newton than Juno. The sqlalchemy core already submit a patch to optimize the time for the eager joinloader, which is used most by neutron. Even with this patch, the time of get_port() is 35ms, also more than Juno. I think neutron need consider the performance, not mainly focus on the new features. I know Newton add more relationship for port, this is one reason that cause the poor runtime, but that maybe not the only reason. https://bitbucket.org/zzzeek/sqlalchemy/issues/3915/performance- degradation-on-version-10xx The salalchemy core said we can use baked query extension to fix this poor runtime. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1667203/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp