calidns [OPTIONS] QUERY_FILE DESTINATION INITIAL_QPS HITRATE
calidns reads queries from QUERY_FILE and sends them as a recursive query to DESTINATION (an IPv4 or IPv6 address, optionally with a port number), starting at INITIAL_QPS queries per second and aims to have a cache hitrate of HITRATE percent.
It will then try to determine the maximum amount of queries per second the recursor can handle with the aforementioned HITRATE.
The format of the QUERY_FILE is very simple, it should contain “QNAME QTYPE” tuples, one per line. For example:
powerdns.com A
powerdns.com AAAA
google.com A
This is similar to Alexa top 1 million list.
--ecs <SUBNET> | Add EDNS Client Subnet option to outgoing queries using random addresses from the specified SUBNET range (IPv4 only). |
--ecs-from-file | |
Read IP or subnet values from the query file and add them as EDNS Client Subnet option to outgoing queries. | |
--increment <NUM> | |
On every subsequent run, multiply the number of queries per second by NUM. By default, this is 1.1. | |
--maximum-qps <NUM> | |
Stop incrementing once this rate has been reached, to provide a stable load. | |
--minimum-success-rate <NUM> | |
Stop the test as soon as the success rate drops below this value, in percent. | |
--plot-file <FILE> | |
Write results to the specified file. | |
--quiet | Whether to run quietly, outputting only the maximum QPS reached. This option is mostly useful when used with –minimum-success-rate. |
--want-recursion | |
Set this flag to send queries with the Recursion Desired flag set. |