Reviewed:  https://review.openstack.org/633406
Committed: 
https://git.openstack.org/cgit/openstack/neutron/commit/?id=1746d7e0e682eab1001bfc434b73efb1cdf5f0f4
Submitter: Zuul
Branch:    master

commit 1746d7e0e682eab1001bfc434b73efb1cdf5f0f4
Author: liuchengqian90 <xieling1990.ha...@163.com>
Date:   Sun Jan 27 20:47:50 2019 +0800

    Update the processing of assigned addresses when assigning addresses
    
    1.It is best not to use 'netaddr.IPSet.add',
      because _compact_single_network in 'IPSet.add' is quite time consuming
    
    2.When the current address pool does not have enough addresses,
      all addresses are allocated from the current pool,
      and allocations are continued from the next address pool
      until all addresses are assigned.
    
    Change-Id: I804a95fdaa3552c785e85ffab7b8ac849c634a87
    Closes-Bug: #1813253


** Changed in: neutron
       Status: In Progress => Fix Released

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

Title:
  Update the processing of assigned addresses when assigning addresses

Status in neutron:
  Fix Released

Bug description:
  openstack allinone.


  16 cpus with 2.40GHz
  16G memery

  only one subnet in a network.

  1. Neutron-server takes a long time when creating a port with multiple
  addresses at once

  neutron port-create --fixed-ip subnet_id=474b9575-b569-48dd-
  a3f2-0b02b752c098 --fixed-ip subnet_id=474b9575-b569-48dd-
  a3f2-0b02b752c098 --fixed-ip subnet_id=474b9575-b569-48dd-
  a3f2-0b02b752c098 --fixed-ip subnet_id=474b9575-b569-48dd-
  a3f2-0b02b752c098 --fixed-ip subnet_id=474b9575-b569-48dd-
  a3f2-0b02b752c098 --fixed-ip subnet_id=474b9575-b569-48dd-
  a3f2-0b02b752c098 --fixed-ip subnet_id=474b9575-b569-48dd-
  a3f2-0b02b752c098 --fixed-ip subnet_id=474b9575-b569-48dd-
  a3f2-0b02b752c098 --fixed-ip subnet_id=474b9575-b569-48dd-
  a3f2-0b02b752c098 --fixed-ip subnet_id=474b9575-b569-48dd-
  a3f2-0b02b752c098 66105fab-7ea9-4efc-b9c8-1839f742bdd1

  When there are already 6300+ addresses, it takes 50s to allocate the
  address part every time the command is run.

  in _generate_ips,
  2s+ for list_allocations  (not fixed in this fix)
  2s+ for ip_allocations.add(ipallocation.ip_address)
  10 times.

  https://github.com/drkjam/netaddr/issues/171

  - list_allocations
  I found it is slow because of log in process_rows method. 
https://github.com/sqlalchemy/sqlalchemy/blob/master/lib/sqlalchemy/engine/result.py
  I turn off 'connection_debug' in neutron.conf ,Speed increases quickly, '2 
seconds , 741903 microseconds' to '711636 microseconds'.

  2.When the current address pool does not have enough addresses,
    all addresses are allocated from the current pool,
    and allocations are continued from the next address pool
    until all addresses are assigned.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1813253/+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

Reply via email to