mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 05:57:52 +00:00
Create benchmarks: add WIP collection of tips and links
parent
aec771a202
commit
dd963b237e
37
benchmarks.md
Normal file
37
benchmarks.md
Normal file
@ -0,0 +1,37 @@
|
||||
## DNS Benchmarks
|
||||
|
||||
Collection of hints and links which can be useful for people new to DNS benchmarking.
|
||||
|
||||
|
||||
|
||||
### Step 0. Prerequisites
|
||||
See DNS-OARC 42, DNS Benchmarking 101: Essentials and Common Pitfalls
|
||||
- [slides](https://indico.dns-oarc.net/event/48/contributions/1033/attachments/991/1943/pspacek.pdf)
|
||||
- [video recording](https://www.youtube.com/watch?v=ZrMLeyu4gTU&list=PLCAxS3rufJ1fHh8oe9UQ0IwlVfHq30_hh&index=16)
|
||||
|
||||
- Test design must be different for any combination of
|
||||
- resolver
|
||||
- authoritative server
|
||||
- normal traffic
|
||||
- DoS traffic
|
||||
- server management operations
|
||||
|
||||
- :warning: Be absolutely sure to **test your test environment first**.
|
||||
- If you don't the results are probably garbage
|
||||
- An echo server will be very useful
|
||||
- user-space: https://github.com/DNS-OARC/dumdumd/
|
||||
- XDP (UDP-only): https://gitlab.nic.cz/knot/xdp-utils/
|
||||
|
||||
- Usual tuning tips apply:
|
||||
- beware of [NUMA domains](https://en.wikipedia.org/wiki/Non-uniform_memory_access) in hardware - you _might_ want to restrict yourself to an _inside_ of one NUMA domain - commands [numactl](https://man.archlinux.org/man/numactl.8), [taskset](https://man.archlinux.org/man/taskset.1)
|
||||
- pick the NUMA domain so it is directly connected to network card in use - tool [lstopo](https://man.archlinux.org/man/lstopo-no-graphics.1.en) can help with that
|
||||
- find out how many network card queues is available - command [ethtool -l devicename](https://man.archlinux.org/man/ethtool.8)
|
||||
- pick minimum value from (# of CPUS in the chosen NUMA domain, number of network queues) and use that for number of threads
|
||||
- these are just a starting point, experiment!
|
||||
|
||||
### Resolvers
|
||||
- An example with explanation how and why we test: https://www.isc.org/blogs/bind-resolver-performance-july-2021/
|
||||
- **:warning: Results cannot be generalized to other data sets** or setups with any certainty
|
||||
- Why? Because every single query (and it's timing) changes _state_ of the system under test. Not to speak of dependency on authoritative server performance ...
|
||||
|
||||
- Introduction to DNS Shotgun [slides](https://ripe79.ripe.net/wp-content/uploads/presentations/45-benchmarking.pdf), [video](https://ripe79.ripe.net/archives/video/198)
|
Loading…
x
Reference in New Issue
Block a user