yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #76061
[Bug 1806311] [NEW] [RFE] PortBindingPort DB model should have 'host' index
Public bug reported:
Recently, we have encountered very high DB CPU load for neutron-server.
This results from our sanity checking operational application. The
application works like this
1. Call neutron API like openstacksdk.network.ports.get(**{'binding:host_id': 'compute001'})
2. Check the port's sanity status.
Currently, we have over than 1200 hypervisors in one region, and there are over than 20000 ports.
I found that whenever we find ports with host_id filtering for one hypervisor, DB search every columns with the host parameter and it makes serious performance impact on DB clusters.
I also noticed that DVR scheduler is heavily using the host_id
parameter, so that it's not only for specific operational overhead but
also for general problem with the filtering.
IMHO, since PortBindingMixin in db/porbindings_db.py is already have
structured API (_port_result_filter_hook) for filtering HOST_ID, it's
worthy to add DB index for the 'host' column.
Thanks
** Affects: neutron
Importance: Undecided
Status: New
** Tags: rfe
** Tags added: rfe
** Summary changed:
- PortBindingPort DB model should have 'host' index
+ [RFE] PortBindingPort DB model should have 'host' index
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1806311
Title:
[RFE] PortBindingPort DB model should have 'host' index
Status in neutron:
New
Bug description:
Recently, we have encountered very high DB CPU load for neutron-
server. This results from our sanity checking operational application.
The application works like this
1. Call neutron API like openstacksdk.network.ports.get(**{'binding:host_id': 'compute001'})
2. Check the port's sanity status.
Currently, we have over than 1200 hypervisors in one region, and there are over than 20000 ports.
I found that whenever we find ports with host_id filtering for one hypervisor, DB search every columns with the host parameter and it makes serious performance impact on DB clusters.
I also noticed that DVR scheduler is heavily using the host_id
parameter, so that it's not only for specific operational overhead but
also for general problem with the filtering.
IMHO, since PortBindingMixin in db/porbindings_db.py is already have
structured API (_port_result_filter_hook) for filtering HOST_ID, it's
worthy to add DB index for the 'host' column.
Thanks
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1806311/+subscriptions
Follow ups