Hi guys,

I'm a little confused by the wording on the official haproxy ver1.6
documentation(https://cbonte.github.io/haproxy-dconv/1.6/configuration.html)
especially as concerning dns resolution.

Here's a section of my haproxy config:

## start config

resolvers my_dns_resolver
      #Google name servers
      nameserver dns1 8.8.8.8:53
      nameserver dn2 8.8.4.4:53
      resolve_retries       30
      timeout retry         1s
      hold valid           2010

frontend my_frontend
    bind *:80
    default_backend my_backend


backend my_backend
    balance roundrobin
    server my_domain my_domain.com check resolvers my_dns_resolver inter 2000

## end config

So my question is,
How often will haproxy (version 1.6) do a dns resolution? Is it every
2000 ms(health check interval) or
every 10ms (2010 modulo 2000) ?

The documenation says:

`Note: since the name resolution is triggered by the health checks, a new
      resolution is triggered after <period> modulo the <inter> parameter of
      the healch check.`

but I'm getting confused by the wording.
I have two interpretations from reading that documentaion;
1. dns resolution is triggered by health checks and thus will happen
(<period> modulo the <inter>) milliseconds after the health check.
2. dns resolution will happen every (<period> modulo the <inter>) milliseconds.

So if we start at time 00.00.00.00(hh.mm.ss.ms)
for case 1 above health check happens at 00.00.02.00 and first dns
resolution happens at
00.00.02.10 and second one at 00.00.04.10 etc
while for case 2 above health check happens at 00.00.02.00  and first
dns resolution happens at
00.00.02.10 and second one at 00.00.02.20 etc


thanks,
Komu W.

Reply via email to