dogpiling

Mark Maunder mark at feedjit.com
Tue Mar 30 04:37:18 MSD 2010


He's referring to a cache stampede, when an item in the proxy cache 
expires and multiple threads simultaneously try to repopulate it causing 
load spikes and possible locking conditions. The item below from 
memcache's faq has a few suggestions of how to avoid this for memcached.

http://code.google.com/p/memcached/wiki/FAQ#How_to_prevent_clobbering_updates,_stampeding_requests

After a quick look I didn't see any options to avoid stampede's in 
nginx's proxy caching nor in the memcached module. Does nginx have this 
built in? Or when a item in the proxy cache expires, is there a rush of 
requests to the back-end to refresh it?

A useful method (if it isn't already built in) might be to block threads 
that have requested the resource being refreshed until the thread doing 
the refreshing completes. A configurable timeout might be helpful.

Mark.



Kiswono Prayogo wrote:
> Hi, could you explain more about dogpiling? i don't understand and
> haven't found any term related to web except for search engine named
> 'dogpile'
> 



More information about the nginx mailing list