On 05/08/14 14:07, Andrig Miller wrote:
Your idea is something that I like as well. You have a min, but no
max, and no blocking for an instance if there isn't one immediately available. The
downside is its unbounded (I have also had customers tell me they needed a strict max
option because they were delivering an application to their customers, and wanted to have
strict control of the resources used), but it would be a nice compliment to what we have
now.
Probably a decision that will vary depending on the deployment but if we
can limit the number of threads processing requests then having a second
limit on the pool could be argued as being redundant for many cases.
On the old InfinitePool, using ThreadLocal, it was actually faster
than the old StrictMaxPool, and it actually wasn't unbounded, because it would be
bound by the thread pool size of the calling thread to the EJB instance. While it was
faster than the old StrictMaxPool, it was probably because of the serialized nature of the
old implementation.
There is definitely room for additional implementations here.
Andy
----- Original Message -----
> From: "Stuart Douglas" <stuart.w.douglas(a)gmail.com>
> To: "James Livingston" <jlivings(a)redhat.com>
> Cc: wildfly-dev(a)lists.jboss.org
> Sent: Monday, August 4, 2014 7:51:15 PM
> Subject: Re: [wildfly-dev] Pooling EJB Session Beans per default
>
> I have often thought that a possible solution would be an unbounded
> pool
> that always keeps n instances around, but just creates new instances
> instead of blocking if the pool is exhausted. In the majority of
> cases
> new instance creation will be way more performant than blocking.
>
> Stuart
>
> James Livingston wrote:
>> On Mon, 2014-08-04 at 20:22 -0400, Bill Burke wrote:
>>> I always liked the ThreadLocal pool. No synchronization, little
>>> to no
>>> allocations.
>>
>> It also can cause massive memory leaks if invoked from threads
>> which
>> aren't re-used, like timer threads, and precautions aren't taken.
>> AS/EAP
>> 5 suffered from that problem with the default ThreadLocalPool.
>>
>> The major problem I've seen in support cases related to
>> StrictMaxPool is
>> the very arbitrary default size. I believe it used to be 30, and
>> almost
>> no-one knew that they might need to tune it to fit their
>> applications'
>> usage patterns and workload. Having a rising wait-time metric for
>> the
>> pool indicates that it may be too small, but I believe the
>> statistics
>> are disabled by default for performance reasons.
>>
>>
>> InfinitePool obviously doesn't have that problem, but it would have
>> been
>> nicer if it had an idle period with expiry, like the JCA pools.
>>
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
>
_______________________________________________
wildfly-dev mailing list
wildfly-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev