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 <[EMAIL PROTECTED]> 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/