(Apologies if this has been previously discussed; I wasn't able to form a search on the list archive that yielded anything.)

We use Squid as a reverse proxy cache to single upstream host.

We have an issue when a cache entry expires; because refreshing that cache entry from the upstream host frequently takes multiple seconds, if we have a high rate of identical requests coming in (which we usually do), *all* of the requests become upstream requests until one of them finally ends up in cache.

So we end up with a large number of upstream requests that are redundant and a put a lot of stress on the back-end systems that we'd like to avoid.

I'm thinking that one solution to this would be to have a cache miss request have a 'refreshing' state, which indicates it is in process of being refreshed, and squid should hold other identical requests until the cache entry gets refreshed.

Has this been considered or discussed? Are there basic problems with this approach that I haven't considered?

Thanks,

dwh

Reply via email to