[
https://issues.apache.org/jira/browse/ARTEMIS-312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15052622#comment-15052622
]
Glaucio Melo commented on ARTEMIS-312:
--------------------------------------
Hi Justin / Clebert,
Thank you for the valuable comments. Regarding documentation, we found the
solution at the link aforementioned by you, my point here is to possibly get
surprised with something else misconfigured and have to chase all the
documentation to be aware about all the possible pitfalls according to the
environment / platform we are putting Artemis. I'm happy to hear you haven't
heard not too much from other customers, here we use to work with some big
numbers (200 million messages per day) so, unfortunately huge volumes comes
with big issues as well :(
>From what I saw, using a Amazon M4 machine (
>https://aws.amazon.com/ec2/instance-types/ ) the client producer starts to
>crash when we reached nearly 5000 active threads. That said and being
>conservative, I would recommend something 50% less than that, putting
>maxThreadPoolSize between [2000, 2500]
Hope this helps!
Thanks,
Glaucio
> Artemis clients use by default an unbounded global thread pool
> --------------------------------------------------------------
>
> Key: ARTEMIS-312
> URL: https://issues.apache.org/jira/browse/ARTEMIS-312
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Broker
> Affects Versions: 1.1.0
> Reporter: Jeff Mesnil
> Assignee: Justin Bertram
>
> While investigating some performance issues, we noticed that Artemis clients
> (including MDBs) use by default a "global" pool by creating a cached thread
> pool with 0 core pool size, Integer.MAX_VALUE max size and 60s keep alive.
> This default global pool looks misconfigured. If a Artemis clients has a lot
> of activity it is actually possible that threads are deleted from the pool
> and added back.
> Related to this, Artemis defines a threadPoolMaxSize attribute if the client
> is not using a global pool. But the property does not seem to be well name.
> If the Artemis client is using a "non-global" pool, this property is used to
> create a newFixedThreadPool. So this property defines the actual size of the
> pool, not a max size.
> As a comparison, the "global" scheduled thread is instantiating with a 5 core
> pool size.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)