← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1850639] [NEW] FloatingIP list bad performance

 

Public bug reported:

Faced on stable/queens but applicable to master too.
On quite a heavy loaded environment it was noticed that simple floatingip list command takes significant time (~1200 fips) while for example port list is always faster (>7000 ports).
If enable sqlalchemy debug logs there can be seen lots of:

2019-10-22 21:02:44,977.977 23957 DEBUG sqlalchemy.orm.path_registry [req-3db31d53-f6b9-408e-b8c7-bf037ef10a1b 1df8a7d5eb
b5414b9e29cf581098681c 10479799101a4fe4ada17daa105707c5 - default default] set 'memoized_setups' on path 'EntityRegistry(
(<Mapper at 0x7f1a3f064ed0; FloatingIPDNS>,))' to '{}' set /usr/lib/python2.7/dist-packages/sqlalchemy/orm/path_registry.
py:63

- which basically eats all the time of a request.

As a test I commented 'dns' field in FloatingIP DB object definition and response time reduced from 14 to 1 second. DNS extension is not configured on the environment and no external DNS is used.
Also I don't see this field used anywhere in neutron.

Interestingly Port DB object has 'dns' field either (with corresponding
portdnses table in DB, all the same as done for floatingips), however DB
object is not used when listing ports.

The proposal would be to remove 'dns' field from FloatingIP OVO as not
used, until we find performance bottleneck.

** Affects: neutron
     Importance: High
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1850639

Title:
  FloatingIP list bad performance

Status in neutron:
  New

Bug description:
  Faced on stable/queens but applicable to master too.
  On quite a heavy loaded environment it was noticed that simple floatingip list command takes significant time (~1200 fips) while for example port list is always faster (>7000 ports).
  If enable sqlalchemy debug logs there can be seen lots of:

  2019-10-22 21:02:44,977.977 23957 DEBUG sqlalchemy.orm.path_registry [req-3db31d53-f6b9-408e-b8c7-bf037ef10a1b 1df8a7d5eb
  b5414b9e29cf581098681c 10479799101a4fe4ada17daa105707c5 - default default] set 'memoized_setups' on path 'EntityRegistry(
  (<Mapper at 0x7f1a3f064ed0; FloatingIPDNS>,))' to '{}' set /usr/lib/python2.7/dist-packages/sqlalchemy/orm/path_registry.
  py:63

  - which basically eats all the time of a request.

  As a test I commented 'dns' field in FloatingIP DB object definition and response time reduced from 14 to 1 second. DNS extension is not configured on the environment and no external DNS is used.
  Also I don't see this field used anywhere in neutron.

  Interestingly Port DB object has 'dns' field either (with
  corresponding portdnses table in DB, all the same as done for
  floatingips), however DB object is not used when listing ports.

  The proposal would be to remove 'dns' field from FloatingIP OVO as not
  used, until we find performance bottleneck.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1850639/+subscriptions


Follow ups