You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Bryan Lewis <br...@maine.rr.com> on 2005/03/04 23:32:09 UTC

no memory leaks (was: Optimal Development Environment)

A year or two ago, I had extremely high expectations for the stability of
applications based on open-source java platforms.  I was expecting them to
run for months without a restart, I guess by analogy with Linux where the
users boast about how long their servers have been up.  Now that we're
getting close to the launch of our first large application, I'm realizing
it's not trivial to achieve that.  We're not unhappy with the situation,
because it looks like we'll be able to run for a few weeks without a restart
which is a heck of a lot better than our old WebObjects apps did.  And we
haven't really put a lot of effort into it yet... we spent a few days with a
memory profiler and eliminated the most obvious problems (of our own making)
but we're postponing a more serious attack until after the launch.

Yesterday there was a posting that pointed to articles about hard-to-find
memory leaks in commons logging, and also in Sun code and other open-source
libraries.  I was ready to scale back my expectations.  "What the heck, once
a month ain't bad."

Now I see your posting about "no memory leaks in production".  Really?
None?  Dare I get my hopes up?  Maybe you didn't run into those
aformentioned hard-to-find leaks, or you did and you found them.  How long
do your apps run without a restart?  Do you avoid hot redploys to your
production server?

Thanks.



----- Original Message ----- 
From: "Hensley, Richard" <Ri...@McKesson.com>
To: "Tapestry users" <ta...@jakarta.apache.org>
Sent: Friday, March 04, 2005 4:40 PM
Subject: RE: Re: Optimal Development Environment for Tapestry Development?


> We have done quite a bit of memory usage study of our web application that
> uses Tapestry. We have found no memory leaks when we run in production
mode.
> For us, production mode means that the tapestry page cache is enabled. In
> development, we seem to see some memory leaks when the page cache is
> disabled. Frankly, that does not concern us.


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: no memory leaks (was: Optimal Development Environment)

Posted by Barry Books <bf...@mac.com>.
I think the best way to get stable web applications is to run behind a load balancer and schedule webserver restarts. I've never had much trouble with the OS quitting but webservers are another matter. Even if you only run on one machine you can run two webservers and run something like pound in front of them.

There are numerous advantages to this. If you run two servers you can schedule stagered restarts with no downtime. You can also detect hung servers and restart them. Pound also supports SSL. 

This will also ensure your application runs in a clustered environment if needed. The scripts to do all this will take a couple of days to implement, they can be tested and will contribute more to reliability than chasing down small memory leaks. 

This will also let you do other things that would otherwise be difficult like caching objects in the global object for speed. If you reboot everyday you don't have to worry about the big memory leak that will create.

>	A year or two ago, I had extremely high expectations for the stability of
>applications based on open-source java platforms.  I was expecting them to
>run for months without a restart, I guess by analogy with Linux where the
>users boast about how long their servers have been up.  Now that we're
>getting close to the launch of our first large application, I'm realizing
>it's not trivial to achieve that.  We're not unhappy with the situation,
>because it looks like we'll be able to run for a few weeks without a restart
>which is a heck of a lot better than our old WebObjects apps did.  And we
>haven't really put a lot of effort into it yet... we spent a few days with a
>memory profiler and eliminated the most obvious problems (of our own making)
>but we're postponing a more serious attack until after the launch.

>Yesterday there was a posting that pointed to articles about hard-to-find
>memory leaks in commons logging, and also in Sun code and other open-source
>libraries.  I was ready to scale back my expectations.  "What the heck, once
>a month ain't bad."

>Now I see your posting about "no memory leaks in production".  Really?
>None?  Dare I get my hopes up?  Maybe you didn't run into those
>aformentioned hard-to-find leaks, or you did and you found them.  How long
>do your apps run without a restart?  Do you avoid hot redploys to your
>production server?

>Thanks. 

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org