I’m using Squid as a foward proxy, balancing the load of requests across a large list of upstream proxies (1,000-10,000) as cache_peers using round-robin.
I use the following options, in an attempt to not use any caching and solely use Squid for forwarding the load to my cache_peers:
cache_mem 0
cache deny all
cache_dir null /tmp
It seems that even though i have no-query and proxy-only directives on each of my cache_peers, Squid still attempts to connect to the peers, which results in all of them being marked as dead on startup if i go above 1,000 cache_peers.
squid-1 | 2024/05/21 21:06:13| ERROR: Connection to xx.xx.xx.xx:xxxx failed
squid-1 | 2024/05/21 21:06:13| Detected DEAD Parent: xx.xx.xx.xx:xxxx
How do i avoid these checks and make Squid blindly balance the load using round-robin across the large list of cache_peers?
This is how i define the cache peers:
cache_peer xx.xx.xx.xx parent xxxx 0 name=p1 round-robin no-query proxy-only
cache_peer xx.xx.xx.xx parent xxxx 0 name=p2 round-robin no-query proxy-only
TLDR: Squid does health checks on peers, even with no-query and proxy-only directives.
Thanks