[Java Broker] Performance Improvements - Enqueuing/Dequeing
-----------------------------------------------------------
Key: QPID-3687
URL: https://issues.apache.org/jira/browse/QPID-3687
Project: Qpid
Issue Type: Improvement
Reporter: Rob Godfrey
Assignee: Rob Godfrey
Reviewing the performance characteristics of the Java Broker showed a number of
opportunities for improvement.
this JIRA covers
1) Reducing the creation of QueueRunners/SubFlushRunners so that only one
object is created per queue/subscription and is simply rescheduled if need be
2) Increase the number of messages processed by each async loop from 10 to 40
3) Detecting at the point of enqueue whether the queue is an exclusive queue
(likely a topic) or whether asynchronous delivery is already taking place. In
this case we can skip over the attempt to deliver synchronously on enqueue.
4) Allow the deferring of flushing the send buffer to the network until the
entire incoming buffer has been processed. By flushing for every message
delivered we were being needlessly inefficient for small message sized - by
allowing the flush to be called only at the end of processing the incoming data
we retain the same guarantees, but allow more efficient IO
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]