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 <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.

--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