I have been benchmark testing 2 DNS servers over the last few days and I am running into the following issue
1 DNS server has a qps per seconf limit of ~6500 qps while the other DNS server gets only ~1500 qps when i use dnsperf
Statistics:
Queries sent: 77511
Queries completed: 77511 (100.00%)
Queries lost: 0 (0.00%)
Response codes: NOERROR 69982 (90.29%), NXDOMAIN 7529 (9.71%)
Average packet size: request 48, response 281
Run time (s): 11.473787
Queries per second: 6755.485351
Average Latency (s): 1.190392 (min 0.000293, max 1.753760)
Latency StdDev (s): 0.443875
Statistics:
Queries sent: 34372
Queries completed: 14676 (42.70%)
Queries lost: 19696 (57.30%)
Response codes: NOERROR 13246 (90.26%), NXDOMAIN 1430 (9.74%)
Average packet size: request 47, response 247
Run time (s): 10.132536
Queries per second: 1448.403440
Average Latency (s): 0.111563 (min 0.000680, max 1.615017)
Latency StdDev (s): 0.050619
Both DNS servers are the same centos and bind versions they both have 16 vCPUs and 16 GB RAM They are located in different datacentres and each I have dnsperf (benchmark server) built locally for each.
Is there a way to increase this qps limit or a way to troubleshoot it?
After looking further into this issue, i found that the QPS limit for this server was being caused by the amount of logging i had enabled in the named.conf file.
I had roughly serveral channels created for different types of query logging.
Once these were commented out in the named.conf file and the service restarted I ran a number of other tests and I now see roughly 6500 QP which is inline with my other VMs