jlarsen at richweb
Mar 13, 2012, 12:57 PM
Post #2 of 5
Getting static assets (js, css, gfx) off your apache children is far more
important than anything else for scaling up to lots of concurrent users
IMHO. We use a pound load balancer to direct static reqs to nginx "cdn"
and all dynamic requests to apache backends.
Once you have that in place tuning the data access layer / SQL, server I/O
subsystem, network stack and OS is next most important.
Caching objects and templates would be maybe 3rd and 4th on the to-do
list but after all the above.
On Tue, 13 Mar 2012, Dan Axtell wrote:
> I'm looking at upgrading some legacy code that runs under mod_perl with an eye
> towards making it more scalable.
> I understand the value of having one light-weight server for static content,
> and a reverse proxy back to a heavy-weight Apache with mod_perl, and I
> understand I can use something like Varnish or mod_cache to add a caching
> layer, but I'm wondering if there is much if any value to caching templates
> at the application level.
> The apps are mostly dynamic forms based on HTML::Template. H::T has some
> caching options but they seem more aimed at CGI users. I could convert to
> Template::Toolkit, which as I understand converts to compiled Perl code (which
> would presumably mean that mod_perl would leave the template objects in
> So does anybody recommend going down to the application level to cache
> templates (either by tinkering with HTML::Template or trying to pre-load TT
> objects), or is there more bang for the buck by focusing on the server level?
> Or is both the way to go? Not sure where diminishing returns kicks in.