[squid-users] Subject: Bandwidth Ceiling

Amos Jeffries squid3 at treenet.co.nz
Wed Jun 29 02:10:57 UTC 2016

On 29/06/2016 1:04 p.m., squid-cache wrote:
> My squid server has 1Gbps connectivity to the internet and it
> routinely gets 600 Mbps up/down to speedtest.net.
> When a client computer on the same network has a direct connection to
> the internet it, too, gets 600 Mbps up/down.
> However, when that client computer connects through the squid server,
> it can't seem to do any better than 120 Mbps down, 60 Mbps up.
> I've tried things like disabling disk cache, increasing
> maximum_object_size*, etc. Nothing I change in the config seems to
> increase or decrease my clients' bandwidth.
> Any tips for getting better bandwidth to clients in a proxy-only
> setup?

Sadly, that is kind of expected at present for any single client
connection. We have some evidence that Squid is artificially lowering
packet sizes in a few annoying ways. Used to make sense on slower
networks, but not nowdays.

Nathan Hoad has been putting a lot of work into this recently to figure
out what can be done and has a performance fix in Squid-4. That is not
going to make it into 3.5 because it relies on some major restructuring
done only in Squid-4 code.

But, if you are okay with playing around in the code his initial patch
submission shows the key value to change:
which should be the same in Squid-3. The 64KB bump in that patch leads
to some pain so dont just apply that. In the end we went with 16KB to
avoid huge per-connection memory requirements. It should really be tuned
to about 1/2 or 1/4 the TCP buffer size on your system.
After bumping up that read_ahead_gap directive also needs to be bumped
up to a minimum of whatever value you choose there.


More information about the squid-users mailing list