Nilson Santos Figueiredo Junior wrote: > I've got pages that take 3-4 seconds to render with a single user > using the application while the database query takes something between > 0.15-0.20s to complete.
How are you measuring those query times? The DBI profiler is a good idea, if you haven't tried it yet. > So, in my quest for optimization, I tried profiling my Catalyst > application. That was a good move, but I think your methodology needs to be changed a little to get useful results. > It saddened me a little bit to find out that, apparently, > at least 60% of the time (probably more) is spent inside Catalyst, TT > and DBIC internal routines (a big cycle eater is Class::C3). I haven't used DBIC, but I understand that the Class::C3 hit is mostly during startup. You don't want to profile that, since it doesn't affect the speed of your application. With mod_perl, you can skip that part by looking at the profile of a child process rather than the parent. I'm not sure how to do it with other server environments. > Particularly, URI handling seems to take a lot of time (maybe this was > influenced by the fact that I profiled using the builtin server). I would think so. Don't profile with a server different from the one you run with if you want useful results. > Thanks for any help and just in case it might be useful in order to > diagnose what I could've done wrong, here's the profiling output of > "dprofpp -R -O 50" for my application: That will be mostly useless unless you add the -r flag. The reason is that this profile is sorted by CPU, so I/O intensive things like database queries will never show up here. You could spend 5 minutes doing some disk action and you won't see it here because it didn't use much CPU. Re-run your profile on your real server, preferably without all the startup time, and sort it by real time with -r, then see what picture emerges. - Perrin _______________________________________________ List: [email protected] Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
