Hi Team,
some quick solution for the problem. I played around
with this cool JMeter Tool. When you set the writerthreadinterval
on >=1000ms then the out of memory exception disapears.

by the way I found a little bug. patch attached.

and under heavy load I cought this exception too:
--exception--
Could not access the Component for role:
org.apache.cocoon.components.pipeline.EventPipeline
java.lang.Exception: Could not create enough Components to service your
request.
        at org.apache.avalon.excalibur.pool.DefaultPool.get(DefaultPool.java:135)
        at
org.apache.avalon.excalibur.component.PoolableComponentHandler.get(PoolableC
omponentHandler.java:117)
        at
org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(Excal
iburComponentManager.java:266)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:2008)
        at org.apache.cocoon.sitemap.Handler.process(Handler.java:160)
        at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:103)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:354)
        at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:496)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
        at org.apache.tomcat.core.Handler.service(Handler.java:287)
        at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
        at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
        at
org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection
(Ajp12ConnectionHandler.java:166)
        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
        at java.lang.Thread.run(Thread.java:484)
--exception--

cheers
gerhard

++ Hi Team,
++ Ok, yesterday was not my day, too much confusion and strange
++ things happend. I think it was the friday 13th damnation :-).
++ Sorry for making needless noise here in that group!

++ I tested this morning my new MRUMemoryStore with JMeter:
++ - 10 Threads
++ - Delay 300ms
++ - URL: http://viper:89/cocoon2freece/welcome
++   and http://viper:89/cocoon2freece/welcome-svg

++ cocoon config:
++ - filesystem true
++ - writerthreadinterval 100ms

++ Following Problem:
++ The JVM runs out of memory.
++ When holding an object in the memory and the filesystem flag is
++ true, the object is temporary pushed on a stack. This stack
++ is processed asynchron by a backround thread. My idea behing was
++ to write the objects asychron to the filesystem to improve performance.
++ But the problem is that the objects are shortly stored double in memory
(1st
++ hashmap,
++ 2nd stack). By many concurrent request I think this causes the out of
++ memory Exception.

++ Writing synchron to filesystem its to slow I think.

++ But I will working on that problem. Meanwhile you can set the filesystem
++ flag
++ on false, when you make heavy load tests. Then the store proceed the old
++ way.

++ Cheers
++ Gerhard

patch.diff

patch.diff

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to