Clebert: Yes we could optimize on this area of the code to avoid the
bindings query.  To determine whether or not this is the root cause of the
problem experience by Francesco and Alessandro, we just need to follow the
same test without using retained messages.

Francesco, Alessandro is this something you could test for us?

Could you also let us know if staggering the subscribe helps.  Like try
testing connecting 100 clients at a time, wait a while then attach another
100.  Once you have all your clients connected does the system perform as
normal?  (this will help us determine whether or not the bottleneck is the
subscribe or just normal function with that many consumers).

Another quick q, are your subscriptions matching most messages.  e.g. are
you using "#" or similar.  If using "#" or subscriptions that match most
messages I'd expect the performance to drop, since the broker needs to
iterate through every subscription queue.  If you have 20,000 subscription
queues matching every message you might see perf decrease.

Any more information on your use case would be helpful in diagnosing the
bottleneck

Thanks




On Mon, Apr 10, 2017 at 5:33 PM, Clebert Suconic <clebert.suco...@gmail.com>
wrote:

> only thing I see on the thread dump is reained message is doing a
> query on the queue every time:
>
>  - org.apache.activemq.artemis.api.core.SimpleString.split(char)
> @bci=100, line=314 (Compiled frame)
>
>  - org.apache.activemq.artemis.core.postoffice.impl.
> AddressImpl.<init>(org.apache.activemq.artemis.api.core.SimpleString,
> org.apache.activemq.artemis.core.config.WildcardConfiguration)
> @bci=31, line=48 (Compiled frame)
>
>  - org.apache.activemq.artemis.core.postoffice.impl.SimpleAddressManager.
> getMatchingBindings(org.apache.activemq.artemis.api.core.SimpleString)
> @bci=77, line=121 (Compiled frame)
>
>  - org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.
> getMatchingBindings(org.apache.activemq.artemis.api.core.SimpleString)
> @bci=5, line=656 (Compiled frame)
>
>  - org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.
> bindingQuery(org.apache.activemq.artemis.api.core.SimpleString)
> @bci=110, line=722 (Compiled frame)
>
>  - org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.
> executeBindingQuery(org.apache.activemq.artemis.api.core.SimpleString)
> @bci=9, line=730 (Compiled frame)
>
>  - org.apache.activemq.artemis.core.protocol.mqtt.
> MQTTRetainMessageManager.addRetainedMessagesToQueue(
> org.apache.activemq.artemis.core.server.Queue,
> java.lang.String) @bci=27, line=74 (Compiled frame)
>
>  -
>
>
> @Mtaylor: any way to avoid it?
>
> On Mon, Apr 10, 2017 at 11:42 AM, alessandro.zann...@bticino.it
> <alessandro.zann...@bticino.it> wrote:
> > Here attached the output of "jstack -F" command.
> > jstack.zip <http://activemq.2283324.n4.nabble.com/file/n4724787/
> jstack.zip>
> >
> >
> >
> > --
> > View this message in context: http://activemq.2283324.n4.
> nabble.com/Apache-Artemis-Stress-test-time-tp4723999p4724787.html
> > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>
>
> --
> Clebert Suconic
>

Reply via email to