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.