Bug 1494846 - Sending durable messages via AMQP 1.0 on 1.36.0-9 broker is tragically slow
Summary: Sending durable messages via AMQP 1.0 on 1.36.0-9 broker is tragically slow
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: 3.2
Hardware: x86_64
OS: Linux
Target Milestone: ---
: ---
Assignee: messaging-bugs
QA Contact: Messaging QE
Depends On:
TreeView+ depends on / blocked
Reported: 2017-09-23 13:26 UTC by Pavel Moravec
Modified: 2021-06-10 13:06 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2017-09-25 09:39:45 UTC
Target Upstream Version:

Attachments (Terms of Use)

Description Pavel Moravec 2017-09-23 13:26:09 UTC
Description of problem:
Sending durable messages via AMQP 1.0 on 1.36.0-9 broker exhibit tragic performance / message throughput of approx 10msgs/s. It is a regression from 1.36.0-6 broker that shows normal message throughput.

From tests performed, the broker extremely delays sending message acknowledgments back to the probducer, what causes the tragic performance results.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
rm -rf /var/lib/qpidd/*
service qpidd restart
qpid-config add queue PerfQueue --durable
time qpid-send -a PerfQueue --durable=yes -m 100 --connection-options "{protocol:'amqp1.0'}"

Actual results:
the qpid-send takes from 6 seconds to 15, with average around 9-10

Expected results:
qpid-send to finish within a fraction of second

Additional info:
- sending transient messages (or to non-durable queue) is fast
- sending the messages via AMQP 0-10 is afst as well
- using 1.36.0-6 broker (in all the scenarios) is fast as well

Comment 2 Pavel Moravec 2017-09-23 13:53:19 UTC
I might used invalid config, since the performance depends highly on setting of journal-flush-timeout parameter.


shows as bad performance as the value is. While using "1ms" there (or "15ms") shows good performance.

(that config is quite confusing since it is backward incompatible as 1.36.0-6 doesnt accept "ms" at all - upgrading qpidd with the same parameter value would bring this problem)

Comment 4 Pavel Moravec 2017-09-25 09:39:45 UTC
Closing as it works as expected, config error behind the report.

Note You need to log in before you can comment on or make changes to this bug.