Ages ago when I built my first home network, I started using Squid to try and speed up browsing. At the time, roughly 14 years ago, my roommate and I were sharing a single dial-up connection. The theoretical 56k connection was slow enough for one person using it, let along two. I never did any objective testing of the performance boots, but it felt faster and that’s all that really mattered. Since this was working well and took no real work to keep up, I continued using it for 14 years and well into the world of broadband. Recently my FiOS connection was upgraded to 35Mbps symmetrical. Not that I use that much bandwidth, but the upgrade didn’t change my monthly bill, so I took it. With this upgrade, I hit various Internet speed tests to see what I was really getting. Everything I tested, within reasonable network connectivity, kept topping out around 20 Mbps. I could understand variations in throughput over different endpoints with different network providers and such, but a consistent 20 Mbps across everything within reason just seemed odd. I did some testing and bypassed Squid to eliminate that as a cause. Low and behold, without squid I got my 35 Mbps consistently where I was before only getting 20 Mbps. The server running has plenty of CPU and free memory and everything is connected internally on 1 Gbps network (previously tested to be fine). I’m guessing something about how squid checks its cache for objects and proxies the connection causes the slow down. Since my time is somewhat limited and the only real need for squid was to speed up things, I’ve just turned it off and removed all of the proxy configurations from the various machines in the house.
Morale of the story is that sometimes things that are supposed to increase performance don’t. I’m sure there are plenty of use cases where using Squid can provide a better experience than not using it, but in my specific use case, without seems better.