Some thoughts on caching
Keith is thinking about caching. He’s drawn up a pretty interesting set of thoughts and requirements, such as support for conditional GET and fine-grained cache length control, and support for caching most of a page while leaving some small parts dynamic.
Personally, I’m considering moving away from dynamically generated content for the most part on this site and going with a page generation scheme something like Moveable Type (or giving funky caching a go). My justification for generating everything dynamically when I built the software originally was that I’d never get a huge amount of traffic so PHP and MySQL would be more than capable of keeping up with demand. While that’s still true, traffic to this site has risen to the point where it’s a little less certain that everything will hold together (I get failed database connection emails a few times a day). I’m already caching the front page once a minute and caching some internal things such as related entries, so moving to a full caching system for the next generation of the system seems like a logical progression. Besides, there’s not much point in dynamically generating hits to archived entries from last year.