CALIDNS(1) PowerDNS Authoritative Server CALIDNS(1) NAME calidns - A DNS recursor testing tool SYNOPSIS calidns [OPTIONS] QUERY_FILE DESTINATION INITIAL_QPS HITRATE DESCRIPTION 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. QUERY_FILE FORMAT 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. OPTIONS --ecs 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 On every subsequent run, multiply the number of queries per second by NUM. By default, this is 1.1. --maximum-qps Stop incrementing once this rate has been reached, to provide a stable load. --minimum-success-rate Stop the test as soon as the success rate drops below this value, in percent. --plot-file Write results to the specified file. --proxy-protocol Send a Proxy Protocol payload in front of outgoing queries using random addresses from the specified range (IPv4 only) as the initial source IP. --proxy-protocol-from-file Read IP or subnet values from the query file and use them as the source IP in Proxy Protocol payloads in front of outgoing queries. --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. AUTHOR PowerDNS.COM BV COPYRIGHT PowerDNS.COM BV August 5, 2026 CALIDNS(1)