cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Toper <nto...@jouve.fr>
Subject Re: Cocoon 2.1.3 breakdown when load testing
Date Mon, 05 Jan 2004 13:03:31 GMT
Hi, 
Are you sure the problem isn't from the Sun JVM: it is known that Solaris's 
JVM are a lot buggier than for other OS 
(http://www.theinquirer.net/?article=7601)

Have you tried with another JVM?

Nicolas

Le Lundi 05 Janvier 2004 13:46, Rottmann, Lars a écrit :
> Hello everybody,
>
> we are currently migrating from a rather old development version of Cocoon
> (december 2002) to the latest stable release 2.1.3. The increase in
> performance is awesome, but unfortunately we are facing reproducable faulty
> behaviour when load testing the actual version. After delivering roughly
> 20000+ pages without an error, the server starts sending back error pages
> with status code 500.
>
> This is the configuration we use for testing: Sun Fire V480 (OS 5.8) with
> 2x 900 MHz, 4 GB RAM, Cocoon 2.1.3 (with Xalan as XSLT processor), Jetty
> 4.2.12, Sun Java 1.4.2_02-b03.
> We do the load testing with the tool "Siege" (version 2.56) with 40
> concurrent users requesting 2000 pages each.
>
> I traced down the problem to the ExcaliburComponentManager or its adjacent
> classes. The end is near when the warning message below is popping up in
> the log files. Mostly it is the TransformerSelector that could not be
> looked up (a null value is returned), but I also saw the same message in
> conjunction with the SerializerSelector in another run. The effect is the
> same. The ECM tries to set up new instances of all Selectors but with an
> empty
> DefaultConfiguration object. This leads to failures in all subsequent
> lookups of the TraxTransformer in the case below. All pages involving XSLT
> transformations will fail including the error pipeline itself, though
> delivery of images is not affected.
>
> I suppose that this problem is a concurrency or threading issue. Disabling
> one the cpus of the server, switching between several versions of the JVM,
> disabling the "use-store" feature, increasing pool sizes of the sitemap
> components etc. didn't solve it. Interestingly I couldn't reproduce the
> errors on my Linux development box, it only showed up in production-like
> environment.
>
> I hacked the ECM doing a second lookup attempt after waiting 10ms and
> almost everytime the second try was successful. When additionaly
> prohibiting re-instantiation of the org.apache.cocoon.*.*Selector classes I
> managed to run a test with more than 7 million requests in a timeframe of
> about 10 hours constantly penetrating the server with 40+ users without
> breaking Cocoon.
>
> Has anyone an idea? Any help is really appreciated. Thanks alot in advance!
>
> Best regards
>
> Lars
>
>
> --------- Logs -----------------
>
> WARN    (2003-12-17) 03:52.24:043   [sitemap] (/vsky/index.preg)
> wap-18/ExcaliburComponentManager: ComponentLocator exception from parent CM
> during lookup.
> org.apache.avalon.framework.component.ComponentException: Could not find
> component (key [org.apache.cocoon.transformation.TransformerSelector])
>         at
> org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(Exca
>l iburComponentManager.java:297)
>         at
> org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonComponentM
>a nager.java:324)
>         at
> org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(Exca
>l iburComponentManager.java:226)
>         at
> org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonComponentM
>a nager.java:324)
>         at
> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.addTransfo
>r mer(AbstractProcessingPipeline.java:283)
>         at
> org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipelin
>e .addTransformer AbstractCachingProcessingPipeline.java:167)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.TransformNode.invoke(Tra
>n sformNode.java:94)
>         at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>o keNodes(AbstractParentProcessingNode.java:84)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTy
>p eNode.java:176)
>         at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>o keNodes(AbstractParentProcessingNode.java:108)
>         at
> org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNo
>d e.java:66)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode
>. java:128)
>         at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>o keNodes(AbstractParentProcessingNode.java:108)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(Select
>N ode.java:138)
>         at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>o keNodes(AbstractParentProcessingNode.java:84)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTy
>p eNode.java:176)
>         at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>o keNodes(AbstractParentProcessingNode.java:84)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTy
>p eNode.java:176)
>         at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>o keNodes(AbstractParentProcessingNode.java:108)
>         at
> org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNo
>d e.java:66)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode
>. java:128)
>         at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>o keNodes(AbstractParentProcessingNode.java:84)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTy
>p eNode.java:176)
>         at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>o keNodes(AbstractParentProcessingNode.java:108)
>         at
> org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNo
>d e.java:66)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode
>. java:128)
>         at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>o keNodes(AbstractParentProcessingNode.java:84)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invo
>k e(PreparableMatchNode.java:164)
>         at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>o keNodes(AbstractParentProcessingNode.java:108)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(Pipe
>l ineNode.java:163)
>         at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>o keNodes(AbstractParentProcessingNode.java:108)
>         at
> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(Pip
>e linesNode.java:152)
>         at
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProces
>s or.java:354)
>         at
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProces
>s or.java:307)
>         at org.apache.cocoon.Cocoon.process(Cocoon.java:656)
>         at
> org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:356)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHand
>l er.java:294)
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1723)
>         at
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContex
>t .java:514)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1673)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:879)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:783)
>         at
> org.mortbay.http.ajp.AJP13Connection.handleNext(AJP13Connection.java:273)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:800)
>         at
> org.mortbay.http.ajp.AJP13Listener.handleConnection(AJP13Listener.java:204)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:454)
>
>
>
> DEBUG   (2003-12-17) 03:52.24:069   [sitemap] (/vsky/index.preg)
> wap-18/ExcaliburComponentManager: Could not find ComponentHandler,
> attempting to create one for role
> [org.apache.cocoon.transformation.TransformerSelector]
> DEBUG   (2003-12-17) 03:52.24:071   [sitemap] (/vsky/index.preg)
> wap-18/DefaultComponentFactory: ComponentFactory creating new instance of
> org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector.
>
> DEBUG   (2003-12-17) 03:52.24:074   [sitemap] (/vsky/index.preg)
> wap-18/DefaultComponentFactory: no logger attribute available, using
> standard logger
> DEBUG   (2003-12-17) 03:52.24:075   [sitemap] (/vsky/index.preg)
> wap-18/DefaultRoleManager: looking up shorthand , returning null
> DEBUG   (2003-12-17) 03:52.24:075   [sitemap] (/vsky/index.preg)
> wap-18/ComponentsSelector: Setting up sitemap component selector for null
> (role id = -1)
> DEBUG   (2003-12-17) 03:52.24:076   [sitemap] (/vsky/index.preg)
> wap-18/DefaultRoleManager: looking up shorthand , returning null
> DEBUG   (2003-12-17) 03:52.24:076   [sitemap] (/vsky/index.preg)
> wap-18/ExcaliburComponentSelector: ComponentSelector setting up with root
> element:
> DEBUG   (2003-12-17) 03:52.24:076   [sitemap] (/vsky/index.preg)
> wap-18/DefaultRoleManager: looking up shorthand , returning null
> DEBUG   (2003-12-17) 03:52.24:077   [sitemap] (/vsky/index.preg)
> wap-18/ThreadSafeComponentHandler: ComponentHandler initialized for:
> org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector
> DEBUG   (2003-12-17) 03:52.24:077   [sitemap] (/vsky/index.preg)
> wap-18/ExcaliburComponentSelector: UnnamedSelector: ComponentSelector could
> not find the component for hint [xslt]
>
> INFO    (2003-12-17) 03:52.24:105   [sitemap] (/vsky/index.preg)
> wap-18/HandleErrorsNode: Processing handle-errors at
> file:/apps/DE/vsky/vsky30-20031204/webapp/sitemap.xmap:1225:24
>
>
>
> Vodafone Global Content Services Limited
> Registered Office:  Vodafone House, The Connection, Newbury, Berkshire 
> RG14 2FN
>
> Registered in England No. 4064873
>
> This e-mail is for the addressee(s) only.  If you are not an addressee, you
> must not distribute, disclose, copy, use or rely on this e-mail or its
> contents, and you must immediately notify the sender and delete this e-mail
> and all copies from your system.  Any unauthorised use may be unlawful. 
> The information contained in this e-mail is confidential and may also be
> legally privileged.


Mime
View raw message