1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "CALIDNS" "1" "Feb 19, 2026" "" "PowerDNS Authoritative Server"
.SH NAME
calidns \- A DNS recursor testing tool
.SH SYNOPSIS
.sp
\fBcalidns\fP [\fIOPTIONS\fP] \fIQUERY_FILE\fP \fIDESTINATION\fP \fIINITIAL_QPS\fP \fIHITRATE\fP
.SH DESCRIPTION
.sp
\fBcalidns\fP reads queries from \fIQUERY_FILE\fP and sends them as a
recursive query to \fIDESTINATION\fP (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 \fIHITRATE\fP percent.
.sp
It will then try to determine the maximum amount of queries per second
the recursor can handle with the aforementioned \fIHITRATE\fP\&.
.SH QUERY_FILE FORMAT
.sp
The format of the \fIQUERY_FILE\fP is very simple, it should contain
"QNAME QTYPE" tuples, one per line. For example:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
powerdns.com A
powerdns.com AAAA
google.com A
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
This is similar to Alexa top 1 million list.
.SH OPTIONS
.INDENT 0.0
.TP
.BI \-\-ecs \ <SUBNET>
Add EDNS Client Subnet option to outgoing queries using random
addresses from the specified \fISUBNET\fP range (IPv4 only).
.TP
.B \-\-ecs\-from\-file
Read IP or subnet values from the query file and add them as EDNS
Client Subnet option to outgoing queries.
.TP
.BI \-\-increment \ <NUM>
On every subsequent run, multiply the number of queries per second
by \fINUM\fP\&. By default, this is 1.1.
.TP
.BI \-\-maximum\-qps \ <NUM>
Stop incrementing once this rate has been reached, to provide a
stable load.
.TP
.BI \-\-minimum\-success\-rate \ <NUM>
Stop the test as soon as the success rate drops below this value,
in percent.
.TP
.BI \-\-plot\-file \ <FILE>
Write results to the specified file.
.TP
.B \-\-quiet
Whether to run quietly, outputting only the maximum QPS reached.
This option is mostly useful when used with \fB\-\-minimum\-success\-rate\fP\&.
.TP
.B \-\-want\-recursion
Set this flag to send queries with the Recursion Desired flag set.
.UNINDENT
.SH AUTHOR
PowerDNS.COM BV
.SH COPYRIGHT
PowerDNS.COM BV
.\" Generated by docutils manpage writer.
.
|