Aaron Crane, The Register

The Register is a major web site offering science and technology news and opinion to over four million audited users each month. Such traffic levels mean we must handle dozens of requests per second efficiently and with low latency. But we also need the flexibility to make relatively frequent changes to our visual design. The most flexible website implementation techniques involve generating pages dynamically, but it can take a lot of hardware to keep up with high traffic levels, and a lot of administration effort to keep things running smoothly. Generating static pages seems to make sense page views outweigh page generation by several orders of magnitude but changing any aspect of the visual design requires a time-consuming regeneration stage.

Our solution relies on Apache's mod_include and mod_rewrite. We generate static pages containing server-side include (SSI) directives; Apache's mod_include module inserts design-related fragments into the pages as they are served. Our design-related fragments are arranged in a hierarchy that matches that of the site's sections. We simplify maintenance of the design fragments by using mod_rewrite to allow fragments for specific sections to override generic ones. We also use similar techniques to geotarget certain visual-design fragments to users in specific countries.

This talk offers a case study of The Register, examining the engineering trade-offs needed to balance the conflicting requirements of high performance and frequent updates. It demonstrates how we used off-the-shelf open-source components Apache, mod_include, and mod_rewrite to easily put together a complex yet maintainable application.

Back to schedule

Google IBM O'Reilly mod3

$Id: ACrane.html 555 2006-09-27 14:04:22Z ray $