[Catalyst] dbic models and startup time server

Josef Chladek j.chladek at wirtschaftsblatt.at
Tue Aug 22 14:24:05 CEST 2006


Am 22.08.2006 um 11:35 schrieb Matt S Trout:

> Lars Balker Rasmussen wrote:
>> On Tue, Aug 22, 2006 at 09:51:31AM +0200, Josef Chladek wrote:
>>> Am 22.08.2006 um 00:54 schrieb Brandon Black:
>>>> Yes, or take a stab at improving the performance yourself of  
>>>> course :)
>>> well, could you point me in the direction where 'most' of the  
>>> time is
>>> spent during startup? is it the connect, checking, preloading, ...?
>>> which module? we might do our best to help...
>>
>> What does
>>
>>    perl -e 'use Algorithm::C3; print $Algorithm::C3::VERSION'
>>
>> say?  There have been tremendous speed-ups in DBIC start-times due to
>> recent improvements by Brandon.  (Sorry if I missed this being  
>> covered
>> earlier.)
>
> And in the pathtools stuff which Module::Find uses.
>
> Upgrading to 0.07001 will automatically pull in the relevant  
> versions of stuff
> as depencies.

well, we are running 0.07001, so A::C3 at version 0.04

what we notice: in Catalyst/Model/DBIC/Schema.pm the time of the  
require of the schema

$schema_class->require

is fast for the first loaded schemas (0.05s) but takes about 0.6s for  
the last schemas. also time to connect

$self->schema->connection(@{$self->{connect_info}});

begins with 0.05s and goes up to 0.6s, so overall the startup process  
takes now about 15s for 19 models/schemas.
and: as soon as we put the cat app in the apache config, a restart  
takes very long - apache sends

[Tue Aug 22 14:04:31 2006] [warn] child process xxxxx did not exit,  
sending another SIGHUP
[Tue Aug 22 14:04:33 2006] [warn] child process xxxxx still did not  
exit, sending a SIGTERM
[Tue Aug 22 14:04:37 2006] [error] child process xxxxx still did not  
exit, sending a SIGKILL

for all the running processes - any hint why this happens?

thanks
josef






More information about the Catalyst mailing list