On Mon, 29 Jun 2009 17:33:35 -0700 (PDT), Judson <nyarly@xxxxxxxxx> wrote: > I'm working with an application that generates a sort of strange traffic > pattern, which is really hurting our cache rate. Basically, all of our > users request a specific URL at the same time. As a result, we get many > many misses as subsequent requests are coming in before the proxy request > has returned to populate the cache. > > In other words: > Browser A makes a request for /resource_x?v=1. This is the first request > for this resource, so it's a MISS, and Squid goes on to request the > resource > from our app server. > > Browser B makes a request for /resource_x?v=1. Even though A is still > waiting for the response to its request, this is still a MISS, so Squid > makes a second request for the same resource. > > (and so on, until...) > > The first response to Squid's request for /resource_x?v=1 comes back, Squid > returns its response to (probably) browser A, and subsequent requests get > HITs. > > > My question is: is there a way to configure Squid such that it recognizes > that it's currently waiting on a specific resource, and block subsequent > requests until the response it makes comes back? In other words, all the > B's still count as MISSES, but Squid only makes *one* request back to the > app server? There is. Collapsed Forwarding was developed for precisely this situation. Note that it is currently only available in Squid-2 releases. http://www.squid-cache.org/Doc/config/collapsed_forwarding/ Amos