[Catalyst] Catalyst for (really) big applications

Marcello Romani mromani at ottotecnica.com
Mon May 22 16:02:52 CEST 2006


Perrin Harkins ha scritto:
> On Mon, 2006-05-22 at 08:30 +0200, Marcello Romani wrote:
>> ThreadsPerChild 250
> [...]
>> as config 1, but ThreadsPerChild 1
> 
> You wouldn't really want either of these values, would you?  250 means
> that you have enough memory to run 250 Perl interpreters with your app
> loaded, which seems unlikely, especially since threads kill the
> copy-on-write sharing you'd get from processes.  And 1 is no good
> because it limits your concurrency.
> 
> You may want to keep the threads high for static requests and limit the
> number of interpreters by setting PerlInterpMax.
> 
> In general, Perl's memory use will be more efficient on a pre-fork
> platform than a threaded one, since copy-on-write usually helps quite a
> bit.
> 
> - Perrin
> 
> 
> _______________________________________________
> Catalyst mailing list
> Catalyst at lists.rawmode.org
> http://lists.rawmode.org/mailman/listinfo/catalyst
> 
> 

Perrin,
     thank you for your advices, but I think you misunderstood the 
purpose of my tests.
In my original post, I talked about a Catalyst app that I deplyoed, that 
consumed about 200 MB when loaded under Apache, and some people said 
that this was a very high value.
I replyed that memory consumption could have been influenced by apache 
configuration, but I couldn't verify my claims because I no loger had 
the code at hand.
Therefore, I did some tests with a sample app.

ThreadsPerChild 250

is the default Apache2 configuration.

ThreadsPerChild 1

was just an extreme value to see how 1 or 250 threads influence the 
memory occupation on apache.

-- 
Marcello Romani
Responsabile IT
Ottotecnica s.r.l.
http://www.ottotecnica.com



More information about the Catalyst mailing list