Ted Ross created DISPATCH-522:
---------------------------------
Summary: Performance: Defer activation and driver-awakening
Key: DISPATCH-522
URL: https://issues.apache.org/jira/browse/DISPATCH-522
Project: Qpid Dispatch
Issue Type: Improvement
Components: Router Node
Reporter: Ted Ross
Assignee: Ted Ross
Fix For: 0.7.0
The router-core thread processes batches of actions (the size of the action
list) when it begins its main loop. When there is a large volume of traffic,
these batches can be quite large (over 1000 actions has been observed). It is
likely that the large batches are settlement or disposition updates of ranges
of deliveries which Proton serializes into individual events.
Each settlement action results in a connection activation. This means that for
large batches, the same connection may be activated hundreds of times during
the processing of a single batch of actions.
This improvement makes two significant changes:
- It defers the activations until after the processing of a batch, such that
each affected connection is only activated once.
- It holds off the awakening of the driver's poll loop until it has activated
all of the connections.
This will result in far fewer calls into the driver by the core thread during
times of high traffic volume.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]