Hello again,
my tests over the last night were partly successful. I managed to make a run
of about 7000000 requests and the server was still alive this morning.
Wow, 7M requests overnight? Amazing!
This showed to me that my guess was obviously right. The log messages I
posted earlier raised the suspicion in me that maybe the StaticBucketMap
used by the excalibur-component package isn't really threadsafe. So I
patched the ExcaliburComponentManager and ExcaliburComponentSelector and
replaced all references to it with a java.util.Hashtable. Okay, I know this
is not the fastest solution, but it worked. The "ComponentLocator exception
from parent CM during lookup" appeared no longer in the logs. So I fear I've
found a serious bug there.
This afternoon, a colleague of mine did some profiling on one of our apps and found what there's a constantly increasing number of StaticBucketMap$Lock objects. Maybe this is related to what you describe and we have a memory leak here. We'll investigate on this point also.
The tests were only partly sucessful as I said because I noticed a considerable loss of performance over the time (over 75% in 14 hours). What I really wonder about is that the transaction rate per second dropped from one point the other from 170 to 60. At that time a file rotation of Cocoon's logs took place. The transaction rate did not recover again. I will test again this night without log rotation turned on to see if this has any impact on the overall performance.
Does anyone of you know if the following log message from the
cocoon-sitemap.log is of major importance? Might there be a link to the loss
of performance I noticed, maybe because of a declining number of available
pooled components?
WARN (2004-01-06) 17:19.49:453 [sitemap] (/vsky/index.preg)
wap-4/ExcaliburComponentSelector: Attempted to release a org.apache.coc
oon.components.pipeline.impl.CachingProcessingPipeline but its handler could
not be located.
This message can occur when a component is released several times.
I love posting the results of my performance tests and it's parameters once
I know that everythings works fine and stable over the time.
Thanks! Considering the number of requests for your load tests, your results will be definitely very intersting.
Sylvain
-- Sylvain Wallez Anyware Technologies http://www.apache.org/~sylvain http://www.anyware-tech.com { XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects } Orixo, the opensource XML business alliance - http://www.orixo.com
