Posted by rbuccigrossi on March 31, 2010 at 9:47pm
We had a high traffic site that would significantly suffer every time the front page cache was cleared (either with an update or when the minimum cache timeout was reached). So we updated the Drupal cache system (here's our updated cache.inc or a patch to cache.inc for 6.15) to have one request update the page cache when it expired and during that time other requests get the old version. I put more details in a blog posting. I hope this helps!
Comments
which other caches you were
which other caches you were using? Cacherouter? Boost? Authcache? Are they compatible with those patches?
drupal+me: jeweler portfolio
That is called cache stampede
That is called cache stampede protection, and all serious cache backends (Memcache API, Cacherouter) in Drupal support it afaik.
"cache stampede"
Ha! Once you know the name of the issue, it then becomes easy to find the solutions :) It's surprising that it isn't supported with the built-in page caching however.
Page Cache Lock
This looks like an alt to this patch
http://tag1consulting.com/patches/pagecache_lock
Looks like both could use the new locking framework
http://api.drupal.org/api/drupal/includes--lock.inc/6
ps the link to the patch is wrong in your blog post, should be this: http://www.tcg.com/~butch/DrupalCache/cache.inc.patch
Thread
Decided to create a thread on this for d.o
http://drupal.org/node/762978
rbuccigrossi's patch seems interesting enough. Also patch in linked thread is updated for 6.16 & code is cleaner.