cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Morrison, John" <John.Morri...@uk.experian.com>
Subject RE: [C2] sitemap creation threading issue ?
Date Mon, 20 Aug 2001 13:11:42 GMT
I saw it go into cvs.  Am building now... ;) hope it works *GRIN*.

> -----Original Message-----
> From: Carsten Ziegeler [mailto:cziegeler@sundn.de]
> Sent: Monday, 20 August 2001 2:10 pm
> To: cocoon-dev@xml.apache.org
> Subject: AW: [C2] sitemap creation threading issue ?
> 
> 
> I just updated the logic a little bit, the threads are now
> only blocked (synchronized) when no sitemap is available.
> 
> This new code is a little bit confusion but it should work.
> 
> Carsten
> 
> > -----Urspr√ľngliche Nachricht-----
> > Von: Morrison, John [mailto:John.Morrison@uk.experian.com]
> > Gesendet: Montag, 20. August 2001 14:05
> > An: 'cocoon-dev@xml.apache.org'
> > Betreff: RE: [C2] sitemap creation threading issue ?
> >
> >
> > Yeah, and only on the huge box :(
> >
> > I've a tiddly little development server which is smaller than my
> > dev box but
> > is under my control and a whacking huge 'stage' set of 
> machines.  I'm
> > getting better performance from my dev boxes than a
> > multi-processor which a
> > gig or so of memory!
> >
> > > -----Original Message-----
> > > From: Carsten Ziegeler [mailto:cziegeler@sundn.de]
> > > Sent: Monday, 20 August 2001 1:03 pm
> > > To: cocoon-dev@xml.apache.org
> > > Subject: AW: [C2] sitemap creation threading issue ?
> > >
> > >
> > > Hi John,
> > >
> > > do you mean 5 seconds or 5 milliseconds?
> > > I fear you mean seconds, right?
> > >
> > > Carsten
> > >
> > >
> > >
> > > > -----Urspr√ľngliche Nachricht-----
> > > > Von: Morrison, John [mailto:John.Morrison@uk.experian.com]
> > > > Gesendet: Montag, 20. August 2001 13:47
> > > > An: 'cocoon-dev@xml.apache.org'
> > > > Betreff: RE: [C2] sitemap creation threading issue ?
> > > >
> > > >
> > > > Hi all, esp Marcus,
> > > >
> > > > I too have been running Load tests, I also noticed that
> > > 'something' was
> > > > happening regularly to slow the response.  I hadn't gotten round
> > > > to checking
> > > > the code though (the testing machines are isolated - 0 access
> > > > from/to my dev
> > > > station).
> > > >
> > > > I saw your patch and rejoiced ;) but it's taken the
> > > response of some of my
> > > > pages from a couple of hundred milliseconds to over 5!  I've not
> > > > yet looked
> > > > at _what_ your patch did, but have you seen a similar
> > > increase in time?
> > > >
> > > > J.
> > > >
> > > > > -----Original Message-----
> > > > > From: Carsten Ziegeler [mailto:cziegeler@sundn.de]
> > > > > Sent: Monday, 20 August 2001 7:57 am
> > > > > To: cocoon-dev@xml.apache.org
> > > > > Subject: AW: [C2] sitemap creation threading issue ?
> > > > >
> > > > >
> > > > > Hi Marcus,
> > > > >
> > > > > thanks for your patch. I applied it, please cross check :-)
> > > > >
> > > > > Carsten
> > > > >
> > > > > > -----Ursprungliche Nachricht-----
> > > > > > Von: Marcus Crafter 
> [mailto:crafterm@fztig938.bank.dresdner.net]
> > > > > > Gesendet: Samstag, 18. August 2001 22:41
> > > > > > An: Cocoon Developers Mailing List
> > > > > > Betreff: [C2] sitemap creation threading issue ?
> > > > > >
> > > > > >
> > > > > > Hi *,
> > > > > >
> > > > > > 	Hope all is well.
> > > > > >
> > > > > > 	Michael and I have spent the day testing our C2
> > > application with
> > > > > > 	LoadRunner and have potentially uncovered a threading
> > > > > problem during
> > > > > > 	sitemap creation.
> > > > > >
> > > > > > 	We're not experts with the code but from our
> > > understanding the
> > > > > > 	following is happening, please let us know if we are
> > > > > right/wrong:
> > > > > >
> > > > > > 	There seems to be a problem with the getHandler()
> > > > > method, located in
> > > > > > 	the sitemap Manager class (line 154).
> > > getHandler() attempts
> > > > > > to access a
> > > > > > 	sitemap handler object for each request for
> > > processing. If
> > > > > > the handler
> > > > > > 	object is not available it creates one, causing the
> > > > > sitemap to be
> > > > > > 	generated.
> > > > > >
> > > > > > 	We've noticed under load, that many handler objects are
> > > > > created for
> > > > > > 	the same sitemap. This is because getHandler() does not
> > > > > protect the
> > > > > > 	following lines:
> > > > > >
> > > > > > 		Handler sitemapHandler =
> > > (Handler)sitemaps.get(source);
> > > > > >
> > > > > > 	and
> > > > > >
> > > > > > 		sitemaps.put(source, sitemapHandler);
> > > > > >
> > > > > > 	as a critical area.
> > > > > >
> > > > > > 	If multiple concurrent threads pass through
> > > > > getHandler() which are
> > > > > > 	requests for resources from the same sitemap,
> > > the first line
> > > > > > 	above will return null multiple times causing the same
> > > > > sitemap to be
> > > > > > 	compiled several times, each by individual
> > > Handler objects.
> > > > > >
> > > > > > 	This happens because sitemaps.put() executes after each
> > > > > > sitemap handler
> > > > > > 	object is created (which can take time for
> > > large sitemaps),
> > > > > > and cannot
> > > > > > 	prevent other incoming threads from waiting until it
> > > > > adds the newly
> > > > > > 	created handler object into the 'sitemaps' hashmap.
> > > > > >
> > > > > > 	When we synchronized the getHandler method to
> > > protect the
> > > > > > 	getting/setting of the sitemaps hashmap, we saw
> > > that the sitemap
> > > > > > 	handler object was created only once, and that
> > > the application
> > > > > > 	performed much better under load. Previously the same
> > > > > > sitemap handler
> > > > > > 	object was created as many times as we had
> > > simultaneous threads
> > > > > > 	make requests.
> > > > > >
> > > > > > 	Attached is a diff of the change we made. There might
> > > > > be a better
> > > > > > 	solution as the Handler class seems to be built to
> > > > > handle this, it's
> > > > > > 	just that the allocation of a new Handler objects per
> > > > > > sitemap, defeats
> > > > > > 	it's internal multi-thread logic.
> > > > > >
> > > > > > 	Any comments/thoughts/suggestions ?
> > > > > >
> > > > > > 	Cheers,
> > > > > >
> > > > > > 	Marcus
> > > > > >
> > > > > > --
> > > > > >         .....
> > > > > >      ,,$$$$$$$$$,      Marcus Crafter
> > > > > >     ;$'      '$$$$:    Computer Systems Engineer
> > > > > >     $:         $$$$:   Open Software Associates GmbH
> > > > > >      $       o_)$$$:   82-84 Mainzer Landstrasse
> > > > > >      ;$,    _/\ &&:'   60327 Frankfurt Germany
> > > > > >        '     /( &&&
> > > > > >            \_&&&&'     Email : Marcus.Crafter@osa.de
> > > > > >           &&&&.        Business Hours : +49
69 9757 200
> > > > > >     &&&&&&&:
> > > > > >
> > > > >
> > > > >
> > > 
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> > > > > For additional commands, email: cocoon-dev-help@xml.apache.org
> > > > >
> > > >
> > > >
> > > >
> > > ==============================================================
> > > =========
> > > > Information in this email and any attachments are
> > > confidential, and may
> > > > not be copied or used by anyone other than the addressee,
> > > nor disclosed
> > > > to any third party without our permission.  There is no 
> intention to
> > > > create any legally binding contract or other commitment
> > > through the use
> > > > of this email.
> > > >
> > > > Experian Limited (registration number 653331).
> > > > Registered office: Talbot House, Talbot Street, 
> Nottingham NG1 5HF
> > > >
> > > >
> > > 
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> > > > For additional commands, email: cocoon-dev-help@xml.apache.org
> > > >
> > >
> > >
> > > 
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> > > For additional commands, email: cocoon-dev-help@xml.apache.org
> > >
> >
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> > For additional commands, email: cocoon-dev-help@xml.apache.org
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> For additional commands, email: cocoon-dev-help@xml.apache.org
> 


=======================================================================
Information in this email and any attachments are confidential, and may
not be copied or used by anyone other than the addressee, nor disclosed
to any third party without our permission.  There is no intention to
create any legally binding contract or other commitment through the use
of this email.

Experian Limited (registration number 653331).  
Registered office: Talbot House, Talbot Street, Nottingham NG1 5HF

---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message