[ 
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]

Reply via email to