Time To Pull The Plug

This is a subtitle. There are many like it, but this one is here.

Mod_mcpage for Lighttpd 1.5 Svn Patch 0.92.1 (Preliminary)

Another preliminary patch for lighttpd 1.5 mod_mcpage has been released. It has all the features of the previous version, with some resolved issues:

  • Checks added so it doesn’t try to load objects larger than 1MB (or a limit you define at compile time) into memcached.
  • Stores Expires: and Cache-Control: HTTP headers.

To do:

  • Needs to be non-blocking.
  • Option to MD5 keys
  • Binary & local data needs more testing
  • MIME type checking for compression & appending debug data to pages. Checking the data to see if it appears to be binary or text would probably be sufficient.
  • Inspired by successes with tiered caching I’ve had elsewhere, having a fast, short lived, local cache for these pages would speed things up even more, and I want to add this too.

The to-do list there is fairly short, but worth finishing. Once I’m a little further along I’ll go back over to the lighttpd folks and share this with them again.

Update: Arrgh, I knew it was going too well. There’s a write queue problem that’s crept back in it seems, and I need to figure out why the first chunk in the write queue with mem chunks is getting written twice. Grr.

Update 2: At long last, the mem chunk problem is fixed, and binary & text data is stored properly.

Update 3: Oh fun, it’s the mod_deflate problem again - if deflate is enabled, it works fine. If it’s not, the initial chunk gets added twice. That’s no good obviously, but at least I know what’s going on now.

Update 4: Hooray! The deflate bug is squashed. Binary check has been in a while too. FastCGI needs tested still, but it ought to work.