[squid-users] Originserver load balancing and health checks in Squid reverse proxy mode

Eliezer Croitoru ngtech1ltd at gmail.com
Mon Feb 8 23:14:18 UTC 2021


Hey Chris,

The main question is " what do you need squid for?"
If you need squid for caching it one thing.
RFC compliance is another thing..
Anyway Haproxy is better in Load Balancing and traffic control/management.
If you need load balancer use haproxy.
If you need caching for very specific known use cases then use it.
For general purpose these days it might not work as you might expect.

Take into account that browsers cache lots of things, even these who shouldn't so the gain/profit
should be tested first.

Eliezer

----
Eliezer Croitoru
Tech Support
Mobile: +972-5-28704261
Email: ngtech1ltd at gmail.com
Zoom: Coming soon


-----Original Message-----
From: squid-users <squid-users-bounces at lists.squid-cache.org> On Behalf Of Chris
Sent: Monday, February 8, 2021 4:41 PM
To: squid-users at lists.squid-cache.org
Subject: [squid-users] Originserver load balancing and health checks in Squid reverse proxy mode

Hi all,

I'm trying to figure out the best way to use squid (version 3.5.27) in 
reverse proxy mode in regard to originserver health checks and load 
balancing.

So far I had been using the round-robin originserver cache peer 
selection algorithm while using weight to favor originservers with 
closer proximity/lower latency.

The problem: if one cache_peer is dead it takes ages for squid to choose 
the second originserver. It does look as if (e.g. if one originserver 
has a weight of 32, the other of 2) squid tries the dead server several 
times before accessing the other one.

Now instead of using round-robin plus weight it would be best to use 
weighted-round-robin. But as I understand it, this wouldn't work with 
originserver if (as it's normally the case) the originserver won't 
handle icp or htcp requests. Did I miss sth. here? Would background-ping 
work?

I tried weighted-round-robin and background-ping on originservers but 
got only an evenly distributed request handling even if ones 
originservers rtt would be less than half of the others. But then again, 
those originservers won't handle icp requests.

So what's the best solution to a) choose the originserver with the 
lowest rtt and b) still have a fast switch if one of the originservers 
switches into dead state?

Would I have to span another proxy (like e.g. HAProxy) between Squid and 
originserver or better install Squid on those originservers as well 
(only for serving icp requests from the squid fellows)?

Is there a better way to update the dead state of an originserver?

How do you handle this?

Thanks a lot,

Chris

_______________________________________________
squid-users mailing list
squid-users at lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-users



More information about the squid-users mailing list