Hi Alexey,

On 11/9/18 2:07 PM, Alexey Bokhanovskiy wrote:
> Now we are using two DNS loadbalancers with seven servers powerdns and
> we found that the capacity loadbalancer has limit approximately 50k qps
> Our version of dnsdist is 1.3.3-1pdns.bionic.
> Is 50kqps the limit of software or hardware? Or need to additional
> configuration?

This seems ridiculously low for your hardware, but it's hard to know for
sure without seeing your configuration.
For what it's worth, you should be able to reach easily 450k QPS without
the packet cache being enabled and much more with it. I have seen one
dnsdist handle around 1M qps at 100% cache hit ratio in an ideal setup
in a lab. You should never reach that over a single dnsdist in
production, but still :)

You should first read [1], and tune at least setMaxUDPOutstanding(), use
several threads to handle incoming queries and consider adding several
newServer() directives (adding the same backend twice might help because
you then have more threads handling the responses) and/or use the
'sockets' parameter on the 'newServer()' directive depending on your setup.

Then the next step should be to get some metrics using `carbonServer()`
[2] and metronome [3], for example, so you know what's going on.
Then you might want to upgrade your kernel (recent Linux kernels are a
lot better at handling UDP packets) and tune your OS and your network cards.

I would advise removing any rule that you have in dnsdist's
configuration first and using one of the built-in load-balancing policy
to be sure that Lua isn't your bottleneck. Please also remember that
without the cache, dnsdist won't be faster than your backends, so
perhaps benchmark them as well.

Good luck!

[1]: https://dnsdist.org/advanced/tuning.html
[2]: https://dnsdist.org/guides/carbon.html
[3]: https://github.com/ahupowerdns/metronome

Best regards,
Remi Gacogne
PowerDNS.COM BV - https://www.powerdns.com/

Attachment: signature.asc
Description: OpenPGP digital signature

dnsdist mailing list

Reply via email to