---
name: "calidns"
section: "1"
platform: "linux"
package: "powerdns"
version: "5.1.5-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/calidns"
---

# calidns(1)

A DNS recursor testing tool

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