[dnsdist] Fwd: dnsdist tcp problem: packets lost inside dnsdist

Peter Gervai grin at grin.hu
Fri Mar 1 14:36:53 UTC 2019


Hello,

dnsdist 1.3.3

The problem: TCP queries get lost without sign. No matter what the
config is, query gets into dnsdist,
query never gets out, client timeouts. tcpdump show there are no
packets getting out.
There are no problem signs in the logfile, and no visible problem on
monitoring webpage.

I suspected lots of things, like ipv4-to-ipv6 transition...

Turned out that the problem was resolved by
setMaxTCPClientThreads(1000)
so the problem was that TCP was not even processed, queues were full, and the
rest was simply dropped.

It seems that the default 10 threads mean 10 parallel queries, which is probably
very low for any reasonable amount  of clients due to long timeouts in some
queries. This is I guess a problem of defaults.

The other problem is that while this can be figured out if someone's aware of
the existence of showTCPStats() and happen to remember and check and there
realise that the queues are always full, maybe it would be useful to have this
displayed on the monitoring webpage, it's just 4 numbers (but it may
be very useful
to see as a graph) and may be valuable to prevent wasting a lot of
time debugging.

There seems to be no metric in graphite related to queue states either.

g


More information about the dnsdist mailing list