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

To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to