- From: Jeffrey Mogul <mogul@pa.dec.com>
- Date: Wed, 07 Aug 96 16:00:22 MDT
- To: Koen Holtman <koen@win.tue.nl>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
But to allocate max-uses values to proxies an efficient way, an
origin server seems to have to keeping per-proxy database of
`max-use-qouta-use-speed' (last two paragraphs of Section 2), which
adds some overhead to every request.
Only if it really wants to be cautious about bounding the counting
error. I would imagine that the simplest servers would have a global
setting for this value (e.g., always send "max-uses=10"). A somewhat
more sophisticated server might keep a moderate-sized cache of
(proxy-address, max-use-setting) entries. At about 8 bytes per
entry (4 bytes IP address, 2 bytes max-use-setting, perhaps 2 bytes for
an LRU counter), you could spend about a dime on RAM and keep 1000 such
entries.
Reading these paragraphs, the
goal of the max-uses allocation heuristics seem to be to ensure
that all counts are reported `soon enough'.
"Soon" in the sense of "bounding the error in the final count", not
in the sense of "within 3 hours".
It seems that a max-time-to-wait-before-reporting-hits mechanism,
can achieve the same goal without the same computational overhead
in origin servers. This mechanism would also eliminate the need
for implementing difficult max-use distribution heuristics in proxy
caches: a cache could simply subtract the age of the response from
the max-time value.
Even better, we *already have* a
max-time-to-wait-before-reporting-hits mechanism in the form of
cache-control: max-age.
I conclude that the max-use mechanism is unnecessary and propose
that it is removed, and that a section about using cache-control:
max-age is added.
I think this would be a mistake, since it doesn't distinguish between
very busy caches and very lightly-used ones. If you send a small
max-age value, then the lightly-used caches might report far more
often than necessary. If you send a large max-age value, then the
heavily-used caches might report far too infrequently (in terms
of number of uses between reports).
-Jeff
Received on Wednesday, 7 August 1996 16:11:58 UTC