cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Uli Mayring <>
Subject Re: Is Cocoon unstable?
Date Wed, 07 Aug 2002 23:21:45 GMT
On Wed, 7 Aug 2002, Justin Fagnani-Bell wrote:

> I have a site running on Cocoon 2.0.1 that needs restarting every couple
> of days or it gets real slow. I seems like a memory leak, but the log
> files show plenty of memory available to the JVM.

If the site gets slow, then it may be something else than a memory leak,
for example excessive context changes between threads. These things are
very hard to track down. For example we recently had a similar effect and
in the end it turned out to be a method from the InetAddress class being
called repeatedly. What we didn't know, but found out then was, that every
time this method was called, it internally made a DNS lookup. This didn't
show up in testing, because we only had a couple of clients firing and
their DNS info was of course quickly cached away. In production with
hundreds of users the system got slower and slower and slower ...
eventually it would probably have run out of memory, but it became slower
at a faster rate than it consumed memory - so we would have never seen an
out of memory error.

Not very helpful, I know, but maybe entertaining. I can only recommend you
build up a testsystem that is as identical to the production system as
possible and the write a testing software that is as identical to the
real world clients as possible. Try to reproduce and compare thread dumps
between slow and fast operation. Insert debug logging statements to find
out in which part of the software the time is lost.

> done rewriting though, I'll need to revisit this. Avalon and CoP are new
> to me and I wonder if I'm missing something in a recycle() somewhere,

Avalon / Phoenix is probably not the culprit, we have stress-tested it
extensively. Maybe the ThreadManager is less than great, but I have no
proof yet. Sometimes Phoenix crashes, but it goes out with a bang, not
with a whimper ;-)

The biggest problem performance-wise is Xalan.

You can always use a professional tool like a profiler or a debugger, of
course. Personally, I prefer the "old way", because I think I learn more
that way.


To unsubscribe, e-mail:
For additional commands, email:

View raw message