I'd like to double-check the semantics of read_ahead_gap.
AIUI, Squid will buffer up to that much data on both requests and
responses, in addition to the TCP send and receive buffers.
So, if I have (for the sake of argument) 16K TCP read buffers, 24K
TCP write buffers, and 32K read_ahead_gap, a pathological request
case might look like:
client ---> [ 16K worth of TCP read buffer ] --> [ 32K internal Squid
buffering ] --> [ 24K worth of TCP write buffering ] --> server
or, as much as 72K of buffer data on this host (but again, that's a
pathological case). A response would be the reverse of this, and this
doesn't include TCP buffers on the client or server.
Correct?
Also, how is memory for the read_ahead_gap allocated? If I have 1024
open connections and a 32K read_ahead_gap, is 32M of memory used for
this buffer? Or is it only allocated upon use?
Cheers,
--
Mark Nottingham mnot@xxxxxxxxxxxxx