Public bug reported:

neutron-openvswitch-agent' rpc_loop loops every 2 seconds by default.
In every loop, the function invocation will do every time: _agent_has_updates 
-> polling_manager.is_polling_required -> self._monitor.has_updates -> 
self.is_active() -> self.pid -> utils.get_root_helper_child_pid -> 
find_child_pids -> execute 'ps --ppid <pid> -o pid=' command.
The command ('ps --ppid <pid> -o pid=') execution is heavy especially for high 
load server, I have 800 HA vRouters in my network node. Every time I use top 
command to see server load, I will always find ps process with high CPU usage, 
and the every rpc_loop will takes 8+ seconds according to the 
neutron-openvswitch-agent log.
So we need to find a way to avoid this invocation.

In class AsyncProcess, we can get the pid when spawn the child process
to avoid getting pid every time using ps command.

** Affects: neutron
     Importance: Undecided
         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/1663465

Title:
  [performance improvement] update neutron-openvswitch-agent's
  AsyncProcess

Status in neutron:
  New

Bug description:
  neutron-openvswitch-agent' rpc_loop loops every 2 seconds by default.
  In every loop, the function invocation will do every time: _agent_has_updates 
-> polling_manager.is_polling_required -> self._monitor.has_updates -> 
self.is_active() -> self.pid -> utils.get_root_helper_child_pid -> 
find_child_pids -> execute 'ps --ppid <pid> -o pid=' command.
  The command ('ps --ppid <pid> -o pid=') execution is heavy especially for 
high load server, I have 800 HA vRouters in my network node. Every time I use 
top command to see server load, I will always find ps process with high CPU 
usage, and the every rpc_loop will takes 8+ seconds according to the 
neutron-openvswitch-agent log.
  So we need to find a way to avoid this invocation.

  In class AsyncProcess, we can get the pid when spawn the child process
  to avoid getting pid every time using ps command.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to