A while ago we created a KB article with tips on how to improve your performance with our Kea dhcp server. The tips were fairly obvious to[big snip]
our developers and this was pretty successful. We would like to do
something similar for BIND, provide a dozen or so tips for how to
maximize your throughput with BIND. However, as usual, everything is
more complicated with BIND.
Any further suggestions, corrections or warnings are very welcome.
OS settings and the system environment...
2e) Make sure your socket send buffers are big enough. (not2e#1) Make sure your UDP socket *receive* buffers are big enough.
sure if this is obsolete advice, do we need to tell people how
to tell if their buffers are causing delays?)
named Features3a#1) Do not configure BIND with --enable-querytrace. It most
3a) Minimize logging. Query logging is expensive (can cost you
20% or more of your throughput) so don't do it unless you
are using the logs for something. Logging with dnstap is
lower impact, but still fairly expensive. Don't run in
debug mode unless necessary.
4b) Set an appropriate MTU for your network. Ensure that yourWell, isn't the major goal of DNS Flag Day 2020 to eliminate
network infrastructure supports EDNS and large UDP responses up
to 4096. Ensure that your network infrastructure allows transit
for and reassembly of fragmented UDP packets (these will be
large query responses if you are DNSSEC signing)
2e#1) Make sure your UDP socket *receive* buffers are big enough.
If on BSD, monitor for "dropped due to full socket buffers"
count in "netstat -s" output, and tune accordingly. Note that
this may be a symptom of mis-tuning of other parts of BIND,
causing excessive CPU usage, which may contribute to this
problem.
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 65 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 06:08:56 |
| Calls: | 862 |
| Files: | 1,311 |
| D/L today: |
921 files (14,318M bytes) |
| Messages: | 264,697 |