avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vincent Massol" <vmas...@octo.com>
Subject RE: Performance questions about ECM
Date Fri, 08 Mar 2002 16:49:01 GMT


> -----Original Message-----
> From: Leo Sutic [mailto:leo.sutic@inspireinfrastructure.com]
> Sent: 08 March 2002 20:39
> To: Avalon Developers List
> Subject: RE: Performance questions about ECM
> 
> 
> 
> > From: Vincent Massol [mailto:vmassol@octo.com]
> >
> > > -----Original Message-----
> > > From: Leo Sutic [mailto:leo.sutic@inspireinfrastructure.com]
> > > Sent: 08 March 2002 20:01
> > > To: Avalon Developers List
> > > Subject: RE: Performance questions about ECM
> > >
> > >
> > >
> > > > From: Vincent Massol [mailto:vmassol@octo.com]
> > > >
> > > > Leo,
> > > >
> > > > First thanks for the quick answer.
> > > >
> > > > The problem with our application is that there is a very very
strict
> > > > requirement : 99.97% of user requests must not take longer than
1
> > second
> > > > (it's not a web application and we do control the maximum number
of
> > > > users that come in the system, lucky us !).
> > >
> > > OK... I would do all my lookups in compose() then, and release
them in
> > > dispose().
> > >
> >
> > yep that's what we are doing everywhere. However, for the
SingleThreaded
> > components that are using either SingleThreaded or ThreadSafe
components
> > the issue is still the same (their compose() method will be called
for
> > every lookup of the SingleThreaded component, which will in turn do
> > lookups for all dependent components).
> 
> Then, can you make the SingleThreaded component poolable? That would
cut
> away
> most of the lookups and preserve MT-safety.
> 
> I think you are spending a lot of time constructing these single
threaded
> components, much more than you spend in ECM lookup.
>

Yes, I thought about that. But then it creates new complex questions
such as :
- what's the max size of the pool (actually this one can be answered in
our case as we have a maximum number of users)
- when do objects that are not released return to the pool and how do
you implement it
- it adds parameters to the application configuration

So yes, if we cannot do anything else, we will use poolable components
but I'd rather not if I can find an alternative that is good enough.

Isn't there synchronization also involved in pooling components ? ;-)

The resource being accessed are not expensive and I'm not sure the
tradeoff is a good one in term of performance. I guess we'll have to
test it.

But yes, you are right, preallocating all needed resources is the only
way to guarantee response times ...

Thanks
-Vincent

> /LS
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:avalon-dev-
> unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:avalon-dev-
> help@jakarta.apache.org>
> 




--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>


Mime
View raw message