EDNS module Performance

Hello,

I’m currently benchmarking EDNS client module for unbound and i can handle about 75/80% less than before.

The tests are made on a Debian Stretch 9.5 with unbound 1.7.3 (I have the same results with 1.6.7).

My server can handle about 280k req/sec without UDP errors and a minimal configuration.

Once i add ‘subnetcache’ to module-config in my configuration my rate go down to 55k req/sec.

Over this limit, i have a lot of UDP errors.

I have tried to tune some options related to EDNS in unbound.conf, but it doesn’t change anything.

Is there a know issue on unbound performance when enabling this feature ?

Best Regards

Hi Alexandre,

Hello,

I'm currently benchmarking EDNS client module for unbound and i can
handle about 75/80% less than before.

The tests are made on a Debian Stretch 9.5 with unbound 1.7.3 (I have
the same results with 1.6.7).

My server can handle about 280k req/sec without UDP errors and a minimal
configuration.

Once i add 'subnetcache' to module-config in my configuration my rate go
down to 55k req/sec.

Over this limit, i have a lot of UDP errors.

If what you are suffering from is UDP errors, and not really performance
of edns-client-subnet. Then there are a couple of options in
unbound.conf that you can tune. so-reuseport: yes increases performance
and may remove UDP errors, this may happen by spreading the queries over
threads more equally so they do not get lost. so-rcvbuf: 4m and
so-sndbuf: 4m may remove UDP errors, caused by the UDP buffers that can
only have a number of queries waiting and unbound momentarily occupied
by processing elsewhere.

num-threads should also increase performance; if you haven't set it, it
is at 1 and could go up to your number of cores.

Best regards, Wouter

Hi Wouter,

I'm running unbound on 8 threads server and in my unbound configuration,
i already have this :

Following