You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Martin Denham <mj...@gmail.com> on 2007/07/20 15:02:13 UTC

4 second page response time

I have had a performance issue with both the JSF applications I have
written.

On my windows xp development pc responses are instant.  However when
deployed to a Sun Ultra 80 Solaris machine every page takes 4 seconds and if
I add a redirect the response time increases to 7 seconds.  Another
application on the same Solaris machine, but written using Struts has
instant page response times.

Is a simple page response time of 4 seconds expected when using JSF?  I have
tried all sorts of tweaks during the past year but the response time is
unaffected.

I am using Myfaces & tomahawk 1.1.5,  Weblogic 8.1sp4, Facelets 1.1.12.  One
application uses Oracle ADF and the other Ajax4Jsf/Richfaces.

Thanks in advance for any pointers.

Martin

RE: 4 second page response time

Posted by "Jesse Alexander (KSFD 121)" <al...@credit-suisse.com>.
Well 
I had the impression that the pure XML-handling was a killer on the solaris box.
 
As with JSF: most processing power is used in the jsp-rendering. I don't know 
whether jsp-precompiling might work or be usefull, I never tried.
I the meantime I moved to facelets, which accelerates everything... even though
it uses a SayCompiler, but it seems that Compiler is blindingly fast...
 
regards
Alexander

________________________________

From: Martin Denham [mailto:mjdenham@gmail.com] 
Sent: Tuesday, July 24, 2007 5:46 PM
To: MyFaces Discussion
Subject: Re: 4 second page response time


Hi Jesse,

I thought the ContextLoaderListener would just be called once on startup.  Does it do something on every request?

Martin


On 24/07/07, Jesse Alexander (KSFD 121) <al...@credit-suisse.com> wrote: 

	I remember that long time ago I did a comparision for the same reason...
	and we found out, that the xml-processing on the solaris box was WAY slower than on the
	Win-Box.
	We never really found out why, though...
	 
	regards
	Alexander

________________________________

	From: Martin Denham [mailto:mjdenham@gmail.com] 
	Sent: Tuesday, July 24, 2007 4:48 PM
	To: MyFaces Discussion
	Subject: Re: 4 second page response time
	
	
	
	Thanks for the tips but our sys admins weren't keen on doing a kill and because I only get performance problems on the central Solaris server it was tricky to follow your advice.  I checked for missing tld/xsd warnings and we aren't getting any even though, as you guessed, the Solaris server does not have internet access. 
	
	However, I have managed to find another of our jsf applications which did not have the 4/8 second page response delay and so I slowly migrated this to be more like the troublesome application.
	
	The main problem occurs when I include 
	    <listener>
	        <listener-class>
	            org.springframework.web.context.ContextLoaderListener
	        </listener-class>
	    </listener>
	in web.xml.  Yes, the problem also occurs if I use ContextLoaderServlet too. 
	
	After including ContextLoaderListener performance deteriorates considerably from 2 second response to more than 4 even if I don't load any spring contexts.
	
	Has anybody any idea why ContextLoaderListener slows down my application running on Weblogic 8.1 on Solaris?
	
	Many thanks.
	
	Martin
	
	
	On 23/07/07, David Delbecq <de...@oma.be> wrote: 

		En l'instant précis du 20/07/07 15:02, Martin Denham s'exprimait en ces
		termes: 
		> I have had a performance issue with both the JSF applications I have
		> written.
		>
		> On my windows xp development pc responses are instant.  However when
		> deployed to a Sun Ultra 80 Solaris machine every page takes 4 seconds 
		> and if I add a redirect the response time increases to 7 seconds.
		> Another application on the same Solaris machine, but written using
		> Struts has instant page response times.
		>
		> Is a simple page response time of 4 seconds expected when using JSF? 
		> I have tried all sorts of tweaks during the past year but the response
		> time is unaffected.
		Simple answere: no. I will have to profile your application to find out
		where your CPU bottleneck (if it's a CPU bottleneck) is, or where your 
		network bottleneck is. Because JSF uses value binding which can do lots
		of things, any badly written/badly used bean can be at cause (like a
		bean loading 50.000 items for a database at each request).
		Simple suggestion: 
		when you load a JSF page, go in a console to your solaris station and
		run a kill -3 <JVMpid>, this will dump to the jvm's stdout a stacktrace
		of all running threads. From there you could see where the code is 
		waiting / busy.
		
		could it be some xml parser uses a xsd/dtd which is not available. If
		production server is firewalled, maybe the server is just trying to
		download the schema/dtd and finishes on a timeout of approx 4 seconds? 
		>
		> I am using Myfaces & tomahawk 1.1.5,  Weblogic 8.1sp4, Facelets
		> 1.1.12.  One application uses Oracle ADF and the other Ajax4Jsf/Richfaces.
		>
		> Thanks in advance for any pointers.
		>
		> Martin
		>
		>
		
		
		--
		http://www.noooxml.org/
		
		




Re: 4 second page response time

Posted by Martin Denham <mj...@gmail.com>.
Sorry, I mean Alexander!

On 24/07/07, Martin Denham <mj...@gmail.com> wrote:
>
> Hi Jesse,
>
> I thought the ContextLoaderListener would just be called once on startup.
> Does it do something on every request?
>
> Martin
>
> On 24/07/07, Jesse Alexander (KSFD 121) <al...@credit-suisse.com>
> wrote:
> >
> >  I remember that long time ago I did a comparision for the same
> > reason...
> > and we found out, that the xml-processing on the solaris box was WAY
> > slower than on the
> > Win-Box.
> > We never really found out why, though...
> >
> > regards
> > Alexander
> >
> >  ------------------------------
> > *From:* Martin Denham [mailto:mjdenham@gmail.com]
> > *Sent:* Tuesday, July 24, 2007 4:48 PM
> > *To:* MyFaces Discussion
> > *Subject:* Re: 4 second page response time
> >
> > Thanks for the tips but our sys admins weren't keen on doing a kill and
> > because I only get performance problems on the central Solaris server it was
> > tricky to follow your advice.  I checked for missing tld/xsd warnings and we
> > aren't getting any even though, as you guessed, the Solaris server does not
> > have internet access.
> >
> > However, I have managed to find another of our jsf applications which
> > did not have the 4/8 second page response delay and so I slowly migrated
> > this to be more like the troublesome application.
> >
> > The main problem occurs when I include
> >     <listener>
> >         <listener-class>
> >             org.springframework.web.context.ContextLoaderListener
> >         </listener-class>
> >     </listener>
> > in web.xml.  Yes, the problem also occurs if I use ContextLoaderServlet
> > too.
> >
> > After including ContextLoaderListener performance deteriorates
> > considerably from 2 second response to more than 4 even if I don't load any
> > spring contexts.
> >
> > Has anybody any idea why ContextLoaderListener slows down my application
> > running on Weblogic 8.1 on Solaris?
> >
> > Many thanks.
> >
> > Martin
> >
> > On 23/07/07, David Delbecq <de...@oma.be> wrote:
> > >
> > > En l'instant précis du 20/07/07 15:02, Martin Denham s'exprimait en
> > > ces
> > > termes:
> > > > I have had a performance issue with both the JSF applications I have
> > > > written.
> > > >
> > > > On my windows xp development pc responses are instant.  However when
> > > > deployed to a Sun Ultra 80 Solaris machine every page takes 4
> > > seconds
> > > > and if I add a redirect the response time increases to 7 seconds.
> > > > Another application on the same Solaris machine, but written using
> > > > Struts has instant page response times.
> > > >
> > > > Is a simple page response time of 4 seconds expected when using JSF?
> > >
> > > > I have tried all sorts of tweaks during the past year but the
> > > response
> > > > time is unaffected.
> > > Simple answere: no. I will have to profile your application to find
> > > out
> > > where your CPU bottleneck (if it's a CPU bottleneck) is, or where your
> > >
> > > network bottleneck is. Because JSF uses value binding which can do
> > > lots
> > > of things, any badly written/badly used bean can be at cause (like a
> > > bean loading 50.000 items for a database at each request).
> > > Simple suggestion:
> > > when you load a JSF page, go in a console to your solaris station and
> > > run a kill -3 <JVMpid>, this will dump to the jvm's stdout a
> > > stacktrace
> > > of all running threads. From there you could see where the code is
> > > waiting / busy.
> > >
> > > could it be some xml parser uses a xsd/dtd which is not available. If
> > > production server is firewalled, maybe the server is just trying to
> > > download the schema/dtd and finishes on a timeout of approx 4 seconds?
> > >
> > > >
> > > > I am using Myfaces & tomahawk 1.1.5,  Weblogic 8.1sp4, Facelets
> > > > 1.1.12.  One application uses Oracle ADF and the other
> > > Ajax4Jsf/Richfaces.
> > > >
> > > > Thanks in advance for any pointers.
> > > >
> > > > Martin
> > > >
> > > >
> > >
> > >
> > > --
> > > http://www.noooxml.org/
> > >
> > >
> >
>

Re: 4 second page response time

Posted by Martin Denham <mj...@gmail.com>.
Hi Jesse,

I thought the ContextLoaderListener would just be called once on startup.
Does it do something on every request?

Martin

On 24/07/07, Jesse Alexander (KSFD 121) <al...@credit-suisse.com>
wrote:
>
>  I remember that long time ago I did a comparision for the same reason...
> and we found out, that the xml-processing on the solaris box was WAY
> slower than on the
> Win-Box.
> We never really found out why, though...
>
> regards
> Alexander
>
>  ------------------------------
> *From:* Martin Denham [mailto:mjdenham@gmail.com]
> *Sent:* Tuesday, July 24, 2007 4:48 PM
> *To:* MyFaces Discussion
> *Subject:* Re: 4 second page response time
>
> Thanks for the tips but our sys admins weren't keen on doing a kill and
> because I only get performance problems on the central Solaris server it was
> tricky to follow your advice.  I checked for missing tld/xsd warnings and we
> aren't getting any even though, as you guessed, the Solaris server does not
> have internet access.
>
> However, I have managed to find another of our jsf applications which did
> not have the 4/8 second page response delay and so I slowly migrated this to
> be more like the troublesome application.
>
> The main problem occurs when I include
>     <listener>
>         <listener-class>
>             org.springframework.web.context.ContextLoaderListener
>         </listener-class>
>     </listener>
> in web.xml.  Yes, the problem also occurs if I use ContextLoaderServlet
> too.
>
> After including ContextLoaderListener performance deteriorates
> considerably from 2 second response to more than 4 even if I don't load any
> spring contexts.
>
> Has anybody any idea why ContextLoaderListener slows down my application
> running on Weblogic 8.1 on Solaris?
>
> Many thanks.
>
> Martin
>
> On 23/07/07, David Delbecq <de...@oma.be> wrote:
> >
> > En l'instant précis du 20/07/07 15:02, Martin Denham s'exprimait en ces
> > termes:
> > > I have had a performance issue with both the JSF applications I have
> > > written.
> > >
> > > On my windows xp development pc responses are instant.  However when
> > > deployed to a Sun Ultra 80 Solaris machine every page takes 4 seconds
> > > and if I add a redirect the response time increases to 7 seconds.
> > > Another application on the same Solaris machine, but written using
> > > Struts has instant page response times.
> > >
> > > Is a simple page response time of 4 seconds expected when using JSF?
> > > I have tried all sorts of tweaks during the past year but the response
> > > time is unaffected.
> > Simple answere: no. I will have to profile your application to find out
> > where your CPU bottleneck (if it's a CPU bottleneck) is, or where your
> > network bottleneck is. Because JSF uses value binding which can do lots
> > of things, any badly written/badly used bean can be at cause (like a
> > bean loading 50.000 items for a database at each request).
> > Simple suggestion:
> > when you load a JSF page, go in a console to your solaris station and
> > run a kill -3 <JVMpid>, this will dump to the jvm's stdout a stacktrace
> > of all running threads. From there you could see where the code is
> > waiting / busy.
> >
> > could it be some xml parser uses a xsd/dtd which is not available. If
> > production server is firewalled, maybe the server is just trying to
> > download the schema/dtd and finishes on a timeout of approx 4 seconds?
> > >
> > > I am using Myfaces & tomahawk 1.1.5,  Weblogic 8.1sp4, Facelets
> > > 1.1.12.  One application uses Oracle ADF and the other
> > Ajax4Jsf/Richfaces.
> > >
> > > Thanks in advance for any pointers.
> > >
> > > Martin
> > >
> > >
> >
> >
> > --
> > http://www.noooxml.org/
> >
> >
>

RE: 4 second page response time

Posted by "Jesse Alexander (KSFD 121)" <al...@credit-suisse.com>.
I remember that long time ago I did a comparision for the same reason...
and we found out, that the xml-processing on the solaris box was WAY slower than on the
Win-Box.
We never really found out why, though...
 
regards
Alexander

________________________________

From: Martin Denham [mailto:mjdenham@gmail.com] 
Sent: Tuesday, July 24, 2007 4:48 PM
To: MyFaces Discussion
Subject: Re: 4 second page response time


Thanks for the tips but our sys admins weren't keen on doing a kill and because I only get performance problems on the central Solaris server it was tricky to follow your advice.  I checked for missing tld/xsd warnings and we aren't getting any even though, as you guessed, the Solaris server does not have internet access. 

However, I have managed to find another of our jsf applications which did not have the 4/8 second page response delay and so I slowly migrated this to be more like the troublesome application.

The main problem occurs when I include 
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
in web.xml.  Yes, the problem also occurs if I use ContextLoaderServlet too. 

After including ContextLoaderListener performance deteriorates considerably from 2 second response to more than 4 even if I don't load any spring contexts.

Has anybody any idea why ContextLoaderListener slows down my application running on Weblogic 8.1 on Solaris?

Many thanks.

Martin


On 23/07/07, David Delbecq <de...@oma.be> wrote: 

	En l'instant précis du 20/07/07 15:02, Martin Denham s'exprimait en ces
	termes: 
	> I have had a performance issue with both the JSF applications I have
	> written.
	>
	> On my windows xp development pc responses are instant.  However when
	> deployed to a Sun Ultra 80 Solaris machine every page takes 4 seconds 
	> and if I add a redirect the response time increases to 7 seconds.
	> Another application on the same Solaris machine, but written using
	> Struts has instant page response times.
	>
	> Is a simple page response time of 4 seconds expected when using JSF? 
	> I have tried all sorts of tweaks during the past year but the response
	> time is unaffected.
	Simple answere: no. I will have to profile your application to find out
	where your CPU bottleneck (if it's a CPU bottleneck) is, or where your 
	network bottleneck is. Because JSF uses value binding which can do lots
	of things, any badly written/badly used bean can be at cause (like a
	bean loading 50.000 items for a database at each request).
	Simple suggestion: 
	when you load a JSF page, go in a console to your solaris station and
	run a kill -3 <JVMpid>, this will dump to the jvm's stdout a stacktrace
	of all running threads. From there you could see where the code is 
	waiting / busy.
	
	could it be some xml parser uses a xsd/dtd which is not available. If
	production server is firewalled, maybe the server is just trying to
	download the schema/dtd and finishes on a timeout of approx 4 seconds? 
	>
	> I am using Myfaces & tomahawk 1.1.5,  Weblogic 8.1sp4, Facelets
	> 1.1.12.  One application uses Oracle ADF and the other Ajax4Jsf/Richfaces.
	>
	> Thanks in advance for any pointers.
	>
	> Martin
	>
	>
	
	
	--
	http://www.noooxml.org/
	
	



Re: 4 second page response time

Posted by Martin Denham <mj...@gmail.com>.
Thanks for the tips but our sys admins weren't keen on doing a kill and
because I only get performance problems on the central Solaris server it was
tricky to follow your advice.  I checked for missing tld/xsd warnings and we
aren't getting any even though, as you guessed, the Solaris server does not
have internet access.

However, I have managed to find another of our jsf applications which did
not have the 4/8 second page response delay and so I slowly migrated this to
be more like the troublesome application.

The main problem occurs when I include
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
in web.xml.  Yes, the problem also occurs if I use ContextLoaderServlet too.

After including ContextLoaderListener performance deteriorates considerably
from 2 second response to more than 4 even if I don't load any spring
contexts.

Has anybody any idea why ContextLoaderListener slows down my application
running on Weblogic 8.1 on Solaris?

Many thanks.

Martin

On 23/07/07, David Delbecq <de...@oma.be> wrote:
>
> En l'instant précis du 20/07/07 15:02, Martin Denham s'exprimait en ces
> termes:
> > I have had a performance issue with both the JSF applications I have
> > written.
> >
> > On my windows xp development pc responses are instant.  However when
> > deployed to a Sun Ultra 80 Solaris machine every page takes 4 seconds
> > and if I add a redirect the response time increases to 7 seconds.
> > Another application on the same Solaris machine, but written using
> > Struts has instant page response times.
> >
> > Is a simple page response time of 4 seconds expected when using JSF?
> > I have tried all sorts of tweaks during the past year but the response
> > time is unaffected.
> Simple answere: no. I will have to profile your application to find out
> where your CPU bottleneck (if it's a CPU bottleneck) is, or where your
> network bottleneck is. Because JSF uses value binding which can do lots
> of things, any badly written/badly used bean can be at cause (like a
> bean loading 50.000 items for a database at each request).
> Simple suggestion:
> when you load a JSF page, go in a console to your solaris station and
> run a kill -3 <JVMpid>, this will dump to the jvm's stdout a stacktrace
> of all running threads. From there you could see where the code is
> waiting / busy.
>
> could it be some xml parser uses a xsd/dtd which is not available. If
> production server is firewalled, maybe the server is just trying to
> download the schema/dtd and finishes on a timeout of approx 4 seconds?
> >
> > I am using Myfaces & tomahawk 1.1.5,  Weblogic 8.1sp4, Facelets
> > 1.1.12.  One application uses Oracle ADF and the other
> Ajax4Jsf/Richfaces.
> >
> > Thanks in advance for any pointers.
> >
> > Martin
> >
> >
>
>
> --
> http://www.noooxml.org/
>
>

Re: 4 second page response time

Posted by David Delbecq <de...@oma.be>.
En l'instant précis du 20/07/07 15:02, Martin Denham s'exprimait en ces
termes:
> I have had a performance issue with both the JSF applications I have
> written. 
>
> On my windows xp development pc responses are instant.  However when
> deployed to a Sun Ultra 80 Solaris machine every page takes 4 seconds
> and if I add a redirect the response time increases to 7 seconds. 
> Another application on the same Solaris machine, but written using
> Struts has instant page response times.
>
> Is a simple page response time of 4 seconds expected when using JSF? 
> I have tried all sorts of tweaks during the past year but the response
> time is unaffected.
Simple answere: no. I will have to profile your application to find out
where your CPU bottleneck (if it's a CPU bottleneck) is, or where your
network bottleneck is. Because JSF uses value binding which can do lots
of things, any badly written/badly used bean can be at cause (like a
bean loading 50.000 items for a database at each request).
Simple suggestion:
when you load a JSF page, go in a console to your solaris station and
run a kill -3 <JVMpid>, this will dump to the jvm's stdout a stacktrace
of all running threads. From there you could see where the code is
waiting / busy.

could it be some xml parser uses a xsd/dtd which is not available. If
production server is firewalled, maybe the server is just trying to
download the schema/dtd and finishes on a timeout of approx 4 seconds?
>
> I am using Myfaces & tomahawk 1.1.5,  Weblogic 8.1sp4, Facelets
> 1.1.12.  One application uses Oracle ADF and the other Ajax4Jsf/Richfaces.
>
> Thanks in advance for any pointers.
>
> Martin
>
>


-- 
http://www.noooxml.org/