Qpid
  1. Qpid
  2. QPID-3960

Performance regression in priority queue implementation.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.16
    • Fix Version/s: 0.18
    • Component/s: C++ Broker
    • Labels:
      None

      Description

      Commit 1307582 introduced a serious regression in the performance of priority queues.

      QPID-3603: Keep acquired messages on queues for all queue types.

      Updated priority and lvq queues to keep acquired messages, and supply
      them to browsers if requested. This is necessary so replicating
      subscriptions can back-up these queue types without message loss.

      To demonstrate the slowdown, run this on the broker before and after the commit:

      qpid-send -a "test1;{create:always,node:{x-declare:{arguments:{'qpid.priorities':10}}}}" --priority 5 --content-size 259 -m 25000 --report-total

      E.g. on my test I see 24112 m/s before and 4549 after. Note that if you repeatedly run the test the results get progressively worse, so it appears to be related to queue depth.

        Activity

        Justin Ross made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Justin Ross made changes -
        Fix Version/s 0.18 [ 12322451 ]
        Show
        Justin Ross added a comment - http://svn.apache.org/viewvc?view=revision&revision=r1307582
        Alan Conway made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Alan Conway made changes -
        Field Original Value New Value
        Summary Performance regression in priority queue implementatino. Performance regression in priority queue implementation.
        Hide
        Alan Conway added a comment -
        Show
        Alan Conway added a comment - Review at https://reviews.apache.org/r/4814/
        Alan Conway created issue -

          People

          • Assignee:
            Alan Conway
            Reporter:
            Alan Conway
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development