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       [EMAIL PROTECTED]


Reply via email to