Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-3960

Performance regression in priority queue implementation.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.16
    • 0.18
    • C++ Broker
    • 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.

      Attachments

        Activity

          People

            aconway Alan Conway
            aconway Alan Conway
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: