[Richfaces-exadel] Fwd: [seam-dev] Some profiling of blockingthreads

Jay Balunas tech4j at gmail.com
Wed Oct 1 18:02:39 EDT 2008


The example I was using was the seam wiki example, but that is not a trivial
thing to set up.  I have not tried the same profiling on the other seam
examples so I am not 100% sure that they will show the same behavior,
although I would think that they would.

As for the profiler report - what are you looking for exactly?  Basically
under load (25 users) I noticed threads blocking on the
ViewHandlerWrapper.fillChain method.  The details are below.

Regards,
Jay

On Wed, Oct 1, 2008 at 5:56 PM, Alexandr Smirnov <asmirnov at exadel.com>wrote:

> Jay, can you send me profiler report or a reference application ?
>
> Jay Balunas wrote:
> > I was able to update and build with RichFaces 3.3.0-SNAPSHOT and saw
> > your changes.
> >
> > The good news is that I no longer see any blocking threads in the
> > "org.ajax4jsf.application.
> > AjaxViewHandler" - none at all which is great.
> >
> > The bad news is that the performance has not increased in any
> > meaningful or repeatable way.
> >
> > During my profiling I noticed a definite increase in the blocked
> > threads performing JNDI lookups.  My theory is that the
> > AjaxViewHandler was acting as a gate and effectively slowing down
> > concurrent requests into Seam proper.  These threads now fly straight
> > through and into Seam processing.  They the end up blocked with the
> > other threads performing the lookups.
> >
> > I will continue to look at the lookup issues, and let you all know
> > what I find.
> >
> > -Jay
> >
> >
> > On Tue, Sep 30, 2008 at 2:05 PM, Jay Balunas <jbalunas at redhat.com
> > <mailto:jbalunas at redhat.com>> wrote:
> >
> >     Excellent  - I will build from sources and test the changes.
> >
> >     I'll post the findings up on seam-dev.
> >
> >     -Jay
> >     ----- "Nick Belaevski" <nbelaevski at exadel.com
> >     <mailto:nbelaevski at exadel.com>> wrote:
> >
> >     > All,
> >     >
> >     > I've created JIRA issue for this optimization:
> >     > https://jira.jboss.org/jira/browse/RF-4554 and have just fixed it.
> >     >
> >     > As from now ViewHandlerWrapper#fillChain method is not synchronized
> >     > anymore.
> >     >
> >     > Best regards,
> >     >   Nick Belaevski
> >     >
> >     > > -----Original Message-----
> >     > > From: richfaces-exadel-bounces at redhat.com
> >     <mailto:richfaces-exadel-bounces at redhat.com>
> >     [mailto:richfaces-exadel- <mailto:richfaces-exadel->
> >     > > bounces at redhat.com <mailto:bounces at redhat.com>] On Behalf Of
> >     Max Rydahl Andersen
> >     > > Sent: Tuesday, September 30, 2008 10:32 AM
> >     > > To: Jay Balunas; richfaces-exadel at redhat.com
> >     <mailto:richfaces-exadel at redhat.com>
> >     > > Subject: Re: [Richfaces-exadel] Fwd: [seam-dev] Some profiling of
> >     > > blockingthreads
> >     > >
> >     > > Sergey/Nik ? Any news on this one ?
> >     > >
> >     > > /max
> >     > >
> >     > > > Hi Guys,
> >     > > >
> >     > > > I have been doing some performance testing on seam applications
> >     > and have
> >     > > > been able to post some of the results.  One of the areas that I
> >     > have
> >     > > > investigated so far was blocking/waiting threads.
> >     > > >
> >     > > > In my example I am running 25 concurrent users and hitting the
> >     > seam wiki
> >     > > > example.  I am seeing blocked threads waiting on
> >     > > > "org.ajax4jsf.application.AjaxViewHandler".
> >     > > > I have investigated it a bit (see below), and have included
> some
> >     > of the
> >     > > > discussions on the seam-dev list.
> >     > > >
> >     > > > I would like to get an opinion of the synchronized fillChain
> >     > method, and
> >     > > > see
> >     > > > if there is another way to handle this.
> >     > > >
> >     > > > Thoughts?
> >     > > >
> >     > > > Thanks,
> >     > > > Jay
> >     > > >
> >     > > > ---------- Forwarded message ----------
> >     > > > From: Emmanuel Bernard <emmanuel at hibernate.org
> >     <mailto:emmanuel at hibernate.org>>
> >     > > > Date: Thu, Sep 25, 2008 at 10:01 AM
> >     > > > Subject: Re: [seam-dev] Some profiling of blocking threads
> >     > > > To: Jay Balunas <tech4j at gmail.com <mailto:tech4j at gmail.com>>
> >     > > > Cc: Pete Muir <pmuir at redhat.com <mailto:pmuir at redhat.com>>,
> >     "seam-dev at lists.jboss.org <mailto:seam-dev at lists.jboss.org>" <
> >     > > > seam-dev at lists.jboss.org <mailto:seam-dev at lists.jboss.org>>
> >     > > >
> >     > > >
> >     > > >
> >     > > > On  Sep 25, 2008, at 09:17, Jay Balunas wrote:
> >     > > >
> >     > > > org.ajax4jsf.application.AjaxViewHandler
> >     > > >> --------------------------------------------
> >     > > >>  - This was not a large % of the blocked threads but caught my
> >     > eye as a
> >     > > >> potential trouble spot because it seemed directly related to
> >     > ajax
> >     > > calls.
> >     > > >>  - This was easier to track down and the root cause is in the
> >     > > >> org.ajax4jsf.application.ViewHandlerWrapper class.
> >     > > >>  - see
> >     > > >>
> >     > >
> >     >
> >
> http://anonsvn.jboss.org/repos/richfaces/trunk/framework/api/src/main/java
> >     > > /org/ajax4jsf/application/ViewHandlerWrapper.java
> >     > > >>  - The problem is all the calls to "fillChain" which is a
> >     > synchronized
> >     > > >> method in the class.
> >     > > >>  - We need to find out how often the "_initialized" field is
> >     > false - is
> >     > > >> this once a request, once for each component, etc...
> >     > > >>  - it appears to be called many times - I will look further
> >     into
> >     > this.
> >     > > >>
> >     > > >>
> >     > > > I will raise this the richfaces dev guys, and see what can be
> >     > done.
> >     > > >
> >     > > >
> >     > > > Using the double check lock pattern with a volatile should make
> >     > things
> >     > > > better. It has to be done right though :)
> >     > > >
> >     > > >
> >     > > >
> >     > >
> >     > >
> >     > >
> >     > > --
> >     > > /max
> >     > >
> >     > > _______________________________________________
> >     > > Richfaces-exadel mailing list
> >     > > Richfaces-exadel at redhat.com <mailto:Richfaces-exadel at redhat.com>
> >     > > https://www.redhat.com/mailman/listinfo/richfaces-exadel
> >     >
> >     > _______________________________________________
> >     > Richfaces-exadel mailing list
> >     > Richfaces-exadel at redhat.com <mailto:Richfaces-exadel at redhat.com>
> >     > https://www.redhat.com/mailman/listinfo/richfaces-exadel
> >
> >
> >
> >
> > --
> > blog: http://in.relation.to/Bloggers/Jay
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Richfaces-exadel mailing list
> > Richfaces-exadel at redhat.com
> > https://www.redhat.com/mailman/listinfo/richfaces-exadel
>
>


-- 
blog: http://in.relation.to/Bloggers/Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/seam-dev/attachments/20081001/e5d6a352/attachment.html 


More information about the seam-dev mailing list