Re: [squid-users] Happy eyeballs

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Wed, 27 Mar 2013 16:33:54 +1300

On 27/03/2013 12:15 p.m., Mark Davies wrote:
> Hi,
> is there something you have to do to turn on happy eyeballs is
> squid? We are running 3.3.1 and currently there is a site
> (karen.net.nz) that is advertising both v6 and v4 addresses but not
> reachable on the v6 and its taking ages before squid serves up the
> page from the v4 address. This is what happy eyeballs is supposed to
> deal with right? but it doesnt seem to be working.
>
> cheers
> mark

Happy eyeballs is an algorithm designed by browser people to take
advantage of the browsers end-user resources of abundant TCP sockets and
bandwidth. While it looks great to end users when its done by browsers
it actually hits very hard on the server infrastructure where these two
resources are much more scarce.
Squid has a partial implementation of happy eyeballs added to 3.2+ which
performs the parallel DNS lookup portion of the algorithm but does not
perform the parallel v6+v4 SYN portion which halves the server TCP
capacity for only rare gains (like karen).

Also, be aware the timeout settings in Squid-3.3 connection setup have
undergone a major redesign. If you have tuned your config for reliable
responses around the 3.2 and older squid behaviour you would beneft from
re-tuning under the new behaviour.
  * forward_timeout is still the overall limiter on the *whole* server
contact process.
  * dns_timeout is now on the parallel v4+v6 lookups *combined*, and
also excluded from connect_timeout.
  * connect_timeout is now *only* the TCP SYN waiting period - it is
per- connect attempt.
  * max_retries limiter now counts individual servers contact attempts -
it is effectively per-IP now instead of per-FQDN.

So what you should be seeing in 3.3.1 is that connection to karen.net/nz
takes no more than: connect_timeout multiplied by the number of IPv6
karen presents to you, plus the amount of time the IPv4 takes to respond
with data.
  NP: connect_timeout default is still the old 60 seconds, you can
safely drop it to a few seconds if you need to in 3.3.

Amos
Received on Wed Mar 27 2013 - 03:34:00 MDT

This archive was generated by hypermail 2.2.0 : Wed Mar 27 2013 - 12:00:13 MDT