[
https://issues.apache.org/jira/browse/ARTEMIS-312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15050907#comment-15050907
]
Glaucio Melo commented on ARTEMIS-312:
--------------------------------------
Hi folks,
Due to this default behaviour from Artemis (letting a number of thread limited
by Max_Integer) put us from Movile Brazil on hold with Artemis testings.
When you have high throughputs from servers, the thread pool size is growing up
very fast until reaches the machine memory resources, the whole system can't
handle with this opened configuration.
IMO, from a software / product development perspective, it's preferable to have
some latency / delay when a resource pool is full instead of allocating
resources indefinitely. Despite the fact we have cheap hardwares nowadays it
doesn't justify on saying those are infinite. From now, we are still using
Amazon SQS due to its high throughput but we are planning to keep going with
these testings focused on thread pool resources, as soon as we have a chance to
do it.
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)