[Catalyst] Catalyst for (really) big applications
Marcello Romani
mromani at ottotecnica.com
Mon May 22 08:30:34 CEST 2006
Marcello Romani ha scritto:
> Perrin Harkins ha scritto:
>> Marcello Romani wrote:
>>> The two apache processes take up almost 200mb of ram just before the
>>> first request. This value grows up to more than 250MB after list()ing
>>> some tables (with paging).
>> That sounds really high to me. I'm used to processes about 1/10th that
>> size in most of my mod_perl apps.
>
> You didn't quote the fact that my app had about 40/50 modules (not
> counting external modules like Class::DBI, etc.).
>
> Also, while I haven't done explicit tests about it, apache configuration
> might have an impact on process size.
> A hint that this could apply to my case is the fact that running the
> same app with the catalyst test server took much less memory (30/40 MB
> if I recall correctly).
>
> Anyway, as I said I don't have the code anymore and unfortunately I
> don't recall the numbers involved exactly enough to prove something.
>
> Unless I do some (fresh) tests, I can't provide any more (euro)cents to
> this thread. I hope I'll have time to.
>
> >
>> - Perrin
>>
>> _______________________________________________
>> Catalyst mailing list
>> Catalyst at lists.rawmode.org
>> http://lists.rawmode.org/mailman/listinfo/catalyst
>>
>>
>
>
Ok I did some tests...
I created a minimal app (just the app class) and loaded it with the
catalyst dev server and apache 2.0.55.
The OS is WindowsXP SP2, ActivePerl 5.8.8.817.
I've done 4 measuerements.
For the cat server this means that I stopped (CTRL-C) and re-launched
the app, for apache it means I stopped and started the service.
The apache tests report 2 values because there are 2 apache processes.
Memory reported by Task Manager, after program start, no request served.
Catalyst test server
--------------------
13.204 KB
13.208 KB
13.204 KB
13.208 KB
Apache config 1
---------------
35.448 KB + 29.876 KB
35.452 KB + 29.868 KB
35.452 KB + 29.872 KB
35.452 KB + 29.928 KB
Apache config 2
---------------
39.984 KB + 29.280 KB
30.036 KB + 29.276 KB
29.872 KB + 29.280 KB
29.872 KB + 29.276 KB
Apache config 1
---------------
ServerRoot "C:/Programmi/Apache Group/Apache2"
PidFile logs/httpd.pid
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>
Listen 80
LoadModule alias_module modules/mod_alias.so
LoadModule perl_module modules/mod_perl.so
LoadFile "C:/Perl/bin/perl58.dll"
ServerAdmin mromani at ottotecnica.com
ServerName localhost:80
UseCanonicalName Off
DocumentRoot "C:/Programmi/Apache Group/Apache2/htdocs"
HostnameLookups Off
ErrorLog logs/error.log
LogLevel warn
ServerTokens Full
ServerSignature On
Alias "/perl" "C:/Documents and Settings/marcello/Documenti/Sviluppo/Perl"
<Perl>
use lib 'C:/Documents and
Settings/marcello/Documenti/Sviluppo/Perl/ProvaAuth/lib';
</Perl>
PerlModule ProvaAuth
<Location "/perl/ProvaAuth">
SetHandler mod_perl
PerlResponseHandler ProvaAuth
</Location>
Apache config 2
---------------
as config 1, but ThreadsPerChild 1
HTH
--
Marcello Romani
Responsabile IT
Ottotecnica s.r.l.
http://www.ottotecnica.com
More information about the Catalyst
mailing list