cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rottmann, Lars" <Lars.Rottm...@vodafone.com>
Subject AW: Cocoon 2.1.3 breakdown when load testing
Date Mon, 05 Jan 2004 13:15:06 GMT

Hi Nicolas,

>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?

Yes, we made the tests with 1.4.1_02 and 1.4.2_02. We cannot go back 1.3.x
because we depend on the 1.4.

Lars


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 
> 20000+ 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