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:[EMAIL PROTECTED]]
> Gesendet: Montag, 20. August 2001 14:05
> An: '[EMAIL PROTECTED]'
> 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:[EMAIL PROTECTED]]
> > Sent: Monday, 20 August 2001 1:03 pm
> > To: [EMAIL PROTECTED]
> > 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:[EMAIL PROTECTED]]
> > > Gesendet: Montag, 20. August 2001 13:47
> > > An: '[EMAIL PROTECTED]'
> > > 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:[EMAIL PROTECTED]]
> > > > Sent: Monday, 20 August 2001 7:57 am
> > > > To: [EMAIL PROTECTED]
> > > > 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:[EMAIL PROTECTED]]
> > > > > 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 : [EMAIL PROTECTED]
> > > > >           &&&&.        Business Hours : +49 69 9757 200
> > > > >     &&&&&&&:
> > > > >
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, email: [EMAIL PROTECTED]
> > > >
> > >
> > >
> > >
> > ==============================================================
> > =========
> > > 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: [EMAIL PROTECTED]
> > > For additional commands, email: [EMAIL PROTECTED]
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, email: [EMAIL PROTECTED]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, email: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to