C++ broker performance: scaling subs on single pub queue through direct
exchange (mode 1-1-N) shows poor performance
--------------------------------------------------------------------------------------------------------------------
Key: QPID-3191
URL: https://issues.apache.org/jira/browse/QPID-3191
Project: Qpid
Issue Type: Bug
Reporter: Kim van der Riet
Assignee: Kim van der Riet
Setting up a broker on one machine and qpid-perftest on another shows poor
scaling of multiple subscribers to a single queue.
Broker:
./qpidd --auth no -m no --max-connections 65100 --load-module
/path/to/store/msgstore.so --store-dir /tmp --jfile-size-pgs 64 --num-jfiles 12
--log-enable info+
Client:
./qpid-perftest --mode shared --summary --pub-confirm no --sync-publish no
--sub-ack 0 -b 20.0.10.43 --npubs 1 --qt 1 --nsubs XX --count 1000000
(--durable yes)
with XX being the progression ( 1 3 10 30 100 300 1000 3000 10000 )
This test shows that the broker performance collapses from a peak of about 120k
broker transfers/sec at 30 subs to 5k broker transfers/sec at 10000 subs.
Analysis shows that the broker is spending most of its time adding and removing
Consumer objects from the QueueListeners std::vector container at these higher
sub levels. Additionally, several other improvements to the QueueListeners
class can be made which would improve efficiency.
--
This message is automatically generated by JIRA.
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]