Qpid
  1. Qpid
  2. QPID-3687

[Java Broker] Performance Improvements - Enqueuing/Dequeing

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.15
    • Component/s: None
    • Labels:
      None

      Description

      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

        Activity

        Rob Godfrey created issue -
        Rob Godfrey made changes -
        Field Original Value New Value
        Status Open [ 1 ] In Progress [ 3 ]
        Rob Godfrey made changes -
        Status In Progress [ 3 ] Ready To Review [ 10006 ]
        Hide
        Robbie Gemmell added a comment -

        Closing out, changes look good to me.

        Show
        Robbie Gemmell added a comment - Closing out, changes look good to me.
        Robbie Gemmell made changes -
        Status Ready To Review [ 10006 ] Resolved [ 5 ]
        Fix Version/s 0.15 [ 12319043 ]
        Resolution Fixed [ 1 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open In Progress In Progress
        18d 21h 45m 1 Rob Godfrey 03/Jan/12 11:37
        In Progress In Progress Reviewable Reviewable
        17s 1 Rob Godfrey 03/Jan/12 11:37
        Reviewable Reviewable Resolved Resolved
        5d 22h 18m 1 Robbie Gemmell 09/Jan/12 09:55

          People

          • Assignee:
            Rob Godfrey
            Reporter:
            Rob Godfrey
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development