On Mon, Nov 28, 2011 at 8:28 PM, Neil Harris neil@tonal.clara.co.uk wrote:
And adding memcached caching with even, say, as little as a 1 minute cache entry timeout, should dilute that reduced load even more, and put an upperbound on the load generated, just in case it gets slashdot/reddited again.
It was already in memcached, cached for 15 minutes. However, if recaching takes a long time and your page gets a lot of traffic, you can get a cache stampede (just like when Michael Jackson died): while the recache is in progress, there are more hits for your page and a zillion Apache workers all race to rebuild the cache, unaware of each other. I have no evidence that that's what happened, but that's my theory. Making the recache faster and/or upping the cache timeout reduces the size and the frequency, respectively, of the window in which this can happen.
The cache stampede problem was solved for the particular case of the parser cache using PoolCounter, but I don't think it's necessary for other types of caching. Computing fundraiser statistics simply shouldn't be that slow.
Roan