Re: bandwidth spikes

From: David J N Begley <>
Date: Mon, 1 Feb 1999 04:18:30 +1100 (EST)

On Sun, 31 Jan 1999, Ross Wheeler wrote:

> On Thu, 28 Jan 1999, Gideon Glass wrote:
> > During a spike, what seems to be happening is that Squid downloads one
> > or more large HTTP objects very rapidly. In one ~2 second interval,
> > tcpdump showed ~380KB on one TCP connection from a remote server to
> > squid. In the same interval a single dialin client got ~15KB on its
> > connection from the cache.
> I put forward an idea that I'd like to see some throttling of squid to
> suck data at only marginally higher rate than the client is taking the
> data. So, someone with a 14K4 modem pulling a 30Mb file, does NOT NEED

When Squid requests data from a remote site, surely it's up to the remote site
(and the intervening network) to determine how fast the data will be
delivered? After all HTTP 1.0/1.1 isn't a windowed/packet protocol (like
Zmodem file transfers, for example) so Squid has no choice but to sit
listening for data as quickly as it can be delivered across the network.

There were some IP-level options available (ICMP source quench?), but I recall
reading somewhere that these may now be deprecated (and besides, there's no
guarantee that the options will be followed by the intervening network or the
remote source). We don't really want Squid replacing part of the OS' TCP/IP
stack surely? Squid's job is to be a fast proxy - other environmental factors
need to be tweaked separately.

If Squid is talking to a known HTTP 1.1 source then I suppose it could request
byte ranges (varying the size of the range to vary data download), but this is
a really borderline solution and won't work at all for non-HTTP 1.1 sources.

Depending on your network configuration, why not just traffic shape the path
to your proxy? By putting the traffic shaping rules at the other end of your
(slow) link (before it reaches your network and thus your proxy), you can
ensure that there is always some bandwidth available on your link by slowing
down traffic destined for the proxy.

I suspect these are the reasons why nothing has happened in Squid itself:

- it's not easy to do reliably (if at all); and,
- it's a network function, not a Squid function.


Received on Sun Jan 31 1999 - 10:02:23 MST

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