On 10/02/2009, at 10:25 PM, Andrew Rodland wrote:
On Tuesday 10 February 2009 04:53:32 am Neo [GC] wrote:
Hello people,
I'm working on a rather big CRM system using Catalyst with all
bells and
whistles. For database, we use DBIx::Class::Schema and this drives me
crazy...
Apart from Catalyst being really resource hungry, the startup time
for
the application (testserver oder fastcgi) is ok, about 4 seconds on
my
development-system (CentOS on VMware Fusion on MacOS X Leopard,
Core 2
Duo 2.2GHz). It's not perfect for developing, but it is completely
acceptable.
But as soon as I activate my DBIx schemas, the startup time
multiplies:
12 seconds with my first (and most important) schema, 25 seconds when
using all schemas.
Just to be clear, since you mention startup time, are you using a
fixed
DBIx::Class::Schema, or DBIx::Class::Schema::Loader at runtime? If the
latter, a slow startup is to be expected, and the solution is
largely "don't
do that then". If the former, then I suspect Nigel has you headed in
the
right direction.
Yes, it's generally very bad practice to regenerate the schema with
schema::loader at every startup.
You can use schema::loader to dump to disk and add components yourself
(below the line that says "do not modify below this line".
Here's one I prepared earlier:
#!/usr/bin/perl
use warnings;
use strict;
use DBIx::Class::Schema::Loader qw/ make_schema_at /;
make_schema_at("Zotero::Schema",
{
# components => ['InflateColumn::DateTime'],
debug => 1,
relationships => 1,
dump_directory => './lib' ,
},
["dbi:SQLite:dbname=../zotero.sqlite", "",""]);
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/