[
https://issues.apache.org/jira/browse/QPID-3191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kim van der Riet resolved QPID-3191.
------------------------------------
Resolution: Fixed
Fixed with r.1090252. The QueueListeners std::vector was replaced with a
std::deque, and a flag was added to Consumers which keeps track of whether that
instance was registered for notifications.
Performance for the 10,000 sub transient case increased from around ~5k tr/sec
to about ~100k tr/sec. The durable case also showed significant improvement.
See attached graph.
> 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
> Attachments: QueueListener vector vs deque comparison.pdf
>
>
> 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]