[wildfly-dev] Pooling EJB Session Beans per default
Andrig Miller
anmiller at redhat.com
Wed Aug 6 10:47:53 EDT 2014
----- Original Message -----
> From: "Bill Burke" <bburke at redhat.com>
> To: "Andrig Miller" <anmiller at redhat.com>
> Cc: wildfly-dev at lists.jboss.org, "Jason Greene" <jason.greene at redhat.com>
> Sent: Tuesday, August 5, 2014 4:36:11 PM
> Subject: Re: [wildfly-dev] Pooling EJB Session Beans per default
>
>
>
> On 8/5/2014 3:54 PM, Andrig Miller wrote:
> >> Its a horrible theory. :) How many EJB instances of a give type
> >> are
> >> created per request? Generally only 1. 1 instance of one object
> >> of
> >> one
> >> type! My $5 bet is that if you went into EJB code and started
> >> counting
> >> how many object allocations were made per request, you'd lose
> >> count
> >> very
> >> quickly. Better yet, run a single remote EJB request through a
> >> perf
> >> tool and let it count the number of allocations for you. It will
> >> be
> >> greater than 1. :)
> >>
> >> Maybe the StrictMaxPool has an effect on performance because it
> >> creates
> >> a global synchronization bottleneck. Throughput is less and you
> >> end
> >> up
> >> having less concurrent per-request objects being allocated and
> >> GC'd.
> >>
> >
> > The number per request, while relevant is only part of the story.
> > The number of concurrent requests happening in the server
> > dictates the object allocation rate. Given enough concurrency,
> > even a very small number of object allocations per request can
> > create an object allocation rate that can no longer be sustained.
> >
>
> I'm saying that the number of concurrent requests might not dictate
> object allocation rate. There are probably a number of allocations
> that
> happen after the EJB instance is obtained. i.e. interception chains,
> contexts, etc. If StrictMaxPool blocks until a new instance is
> available, then there would be less allocations per request as
> blocking
> threads would be serialized.
>
> Whoever is investigating StrictMaxPool, or EJB pooling in general
> should
> stop. Its pointless.
>
Ah, no its not pointless. We have a new non-blocking implementation of StrictMaxPool, and its upstream in Wildfly 9, and will be in EAP 6.4. It has helped us increase our throughput, and reduce response times alot!
Andy
> --
> Bill Burke
> JBoss, a division of Red Hat
> http://bill.burkecentral.com
>
More information about the wildfly-dev
mailing list