My instincts say that HTTP/1.1 connections should be no less (and perhaps
slightly more) efficient. Not necessarily faster, but the returned object
would be subject to TCP flow-control, as well as recovery (if lost).
I consider that a plus. On the down side, it means the data will require at
least one ACK, which it wouldn't as a UDP packet. That in itself could make
a difference. I can see situations where I might (for example) want to use
HIT_OBJ with my parent (to avoid paying for ACKS on the main link), but not
on the local lan between siblings (where bandwidth is cheap).
Or, perhaps I might choose to say, hang-it-all, and do it the other way
around, and use HIT_OBJ locally, where they can't reasonably get lost, and
do it by TCP on the main-link to the parent where things get congested
enough that ICP replies would usually be lost.
Maybe it'd be best to just have an icp-over-tcp flag to go on as a modifier
to the cache_peer/cache_host entries, so we can have our cake and eat it
too. :)
D
Duane Wessels wrote:
> Hi all,
>
> I'd like to get an idea of to what extent people think the ICP HIT_OBJ
> feature is a good idea to continue supporting.  Briefly, HIT_OBJ means
> that we include the actual object data inside an ICP HIT reply
> message.  HIT_OBJ has caused problems with Squid-1.1 because ICP is
> treated differently than HTTP, namely ICP does not have certain request
> headers such as Cache-Control and Authorization.  See
> http://squid.nlanr.net/Squid/FAQ/FAQ-10.html#ss10.12 for more details.
>
> There are a number of factors to consider in deciding if HIT_OBJ
> is a good thing.  For example:
>
>         - ICP is sent over UDP.   UDP does NOT have flow-control
>           and could cause congestion.
>
>         - Fragmentation of UDP is considered harmful.  If a single
>           fragment is lost, the entire datagram is lost.
>
>         - Many Web objects are small.  According to yesterday's log for
>           sv.cache, 50% of HTTP "200" replies are 3715 bytes or less.
>           25% are 1475 bytes or less.  If we consider ALL replies,
>           including "304 Not Modified", then 50% of replies are 2006
>           bytes or less.  Larger ICP message are probably more likely
>           to suffer fragmentation and/or packet loss, but the actual
>           chances will depend on path congestion between neighbor
>           caches.
>
>         - HTTP/1.1 should eliminate concerns over TCP slow start.
>           Neighbor caches should utilize numerous, persistent
>           connections.
>
>         - An ICP HIT_OBJ message will take longer to generate, if the
>           object data must be read from disk.  A regular ICP HIT
>           can be returned immediately.
>
> Given these points, should we keep HIT_OBJ around, or rather just let
> HTTP/1.1 handle it?
>
> Duane W.
-- Note to evil sorcerers and mad scientists: don't ever, ever summon powerful demons or rip holes in the fabric of space and time. It's never a good idea. ICQ UIN: 3225440Received on Tue Nov 18 1997 - 17:28:17 MST
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:37:39 MST