On Fri, Nov 02, 2007 at 08:59:48PM +0200, Octavian Rasnita wrote: > I have tried to see which of the modules of my Catalyst application take so > much time, because at certain moments the processor is occupied 99.9%, then > goes down to 12%, then again at 99.9% and so on. > > I've used the module Apache::DProf in httpd.conf, and the results are > below, but I don't know what can I do to solve the problem and to make the > application consume less processor time. > > The processor of the machine is an Intel Core 2 Duo at 2.4 GHz, and the > computer has 8 GB of RAM, and the application isn't very big. It has just > 130 templates and 21 controller modules that have aproximately 400 KB. > > It worked fine until I added Catalyst::Plugin::I18N and I've translated the > interface into 3 languages, but I don't know if this is the cause, or how > could I solve it in other way if I still want to have the interface in more > languages. > > Isn't Catalyst able to handle big applications? Or what could I be doing > wrong?
Oh, Catalyst can handle mighty big apps (230 files in lib totalling 800KB - don't get me started on templates). But you left out the most important fact: How much traffic are you seeing? Apache (and mod_perl) doesn't use much cpu, if there's no traffic. Fighting cpu usage in webapps really mostly comes down to: Don't do any work you don't have to, i.e. cache cache cache. Caching is relevant in several places: * Have TT compile it's templates. * Cache results from common database queries. * Cache semi-static page-snippets (e.g. don't calculate the html for "10 most popular articles" every time you draw a page). * Cache entire pages if possible. How you break it down is mostly up to your specific application needs. But cache. -- Lars Balker Rasmussen Consult::Perl _______________________________________________ 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/
