Comment 1 for bug 2070376

Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :

Hello:

As commented in the last Neutron drivers meeting [1], I committed myself to make some quick benchmarks with the DHCP agent threading. I created an environment using ML2/OVN with one single controller and a DHCP agent on it. I created:
* 100 networks (and 1 subnet per network)
* 10 ports per network --> that is a total of 1000 ports.

To benchmark the DHCP agent I focused in the restart process, in particular the resync method and the port processing. During the restart time, I didn't make any other Neutron operation. The restart process has two phases:
* The RPC resync. This phase starts with the log "Synchronizing state" and ends with "Synchronizing state complete"
* The port processing. The ports are processes in batches. Each batch ends with the log "DHCP configuration for ports %s is completed".

I tested with the current DHCP implementation and with [2], that reduces the event processing threads to only 1. In [2] there are 3 executions with each implementation. The start transient time in all of them is around 2:20 minutes; that means there is no speed gain when using multiple threads in the DHCP event processing task.

Regards.

[1]https://meetings.opendev.org/meetings/neutron_drivers/2024/neutron_drivers.2024-06-28-14.01.log.html
[2]https://review.opendev.org/c/openstack/neutron/+/922719
[3]https://paste.opendev.org/show/b8JUaVPaZNIRA1cm08fw/