Re: Cache-DIGEST false hits

From: Alex Rousskov <rousskov@dont-contact.us>
Date: Fri, 21 Aug 1998 09:03:28 -0600 (MDT)

On Fri, 21 Aug 1998, Serge Krashakov wrote:

> Unfortunately, current version of client program doesn't support purge,
> and I don't know how to delete object from cache.

Client does support purge:
pail> ./client -m PURGE -h lj.cache http://www.nlanr.net/

> I have studied log files since today midnight and found that all false
> CACHE_DIGEST_HITs resulst from URLs containing cgi-bin, .cgi, ? , and
> from some hosts like ad.doubleclick.net, counter.rambler.ru,
> www.asiannet.com and www.mirabilis.com.
>
> I have repeated to request objects from the last host (www.mirabilis.com)
> using client program without and with -r option and had the same result:
> every time cache-server A (www-cache.chg.ru) detects MISS and finds it in
> digest of server B (proxy.itp.ac.ru). Resulting reply looks like this:
>
> HTTP/1.0 200 OK
> Date: Fri, 21 Aug 1998 05:07:35 GMT
> Server: Apache/1.3.0 (Unix)
> Content-Type: text/html
> X-Cache: MISS from proxy.itp.ac.ru
> X-Cache-Lookup: HIT from proxy.itp.ac.ru:3128
> Age: 16670
> X-Cache: MISS from www-cache.chg.ru
> X-Cache-Lookup: HIT from www-cache.chg.ru:3128
> Proxy-Connection: close
>

OK. The header implies that Cache Digest algorithm was correct in thinking
that the object is in the sibling cache (X-Cache-Lookup says HIT). However,
due to refresh rules or similar factors, the sibling cache decided to refresh
the requested object. The next step would be to determine what rules were
used to refresh the object. You can do it by enabling full debugging (squid
-kd) while requesting the object in question.

> Both servers have the same refresh rules.

A's refresh rules are probably irrelevant in this case. Note that proxy A has
nothing but a URL when it forwards the request to B. Thus, refresh rules
cannot be used on A's side. What we should investigate is how to prevent the
object from being included into the B's digest. There is some logic in Squid
that prevents some objects from getting into the digest. However, there are
probably conditions that we could miss (e.g. uncachable objects like
'cgi-bin' or '?' should not go into the digest). The analysis of the refresh
rules being fired on B's side will help.

Thanks,

Alex.
Received on Fri Aug 21 1998 - 08:05:02 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:41:41 MST