1DNSTCPBENCH(1) PowerDNS Recursor DNSTCPBENCH(1)
2
3
4
6 dnstcpbench -
7
8 dnstcpbench - tool to perform TCP benchmarking of nameservers
9
11 dnstcpbench [OPTION]... REMOTE-ADDRESS [REMOTE-PORT]
12
14 dnstcpbench reads DNS queries (by default from standard input) and
15 sends them out in parallel to a remote nameserver. By default TCP/IP is
16 used, but optionally, UDP is tried first, which allows for the bench‐
17 marking of TCP/IP fallback.
18
19 The program reports both mean and median numbers for queries per second
20 and UDP and TCP latency. Each query only counts once, even if it is
21 tried over UDP first. This effectively means that passing '-u' can
22 lower query rates if many queries get shunted to TCP.
23
24 The input format is one query per line: qname single-space qtype. An
25 example:
26
27 www.powerdns.com ANY
28
29 When benchmarking extended runs, it may be necessary to enable
30 TIME_WAIT recycling, as TCP/IP port tuples may otherwise run out. On
31 Linux this is performed by running:
32
33 echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
34
35 The equivalent for IPv6 is not known.
36
38 -f, <FILENAME>, --file <FILENAME> FILENAME from which to read
39 queries. Defaults to standard input if unspecified. -h, --help
40 Provide a helpful message. --timeout-msec <MSEC>
41 MSEC milliseconds to wait for an answer. -u, --udp-first
42 Attempt resolution via UDP first, only do TCP if truncated answer is
43 received. -v, --verbose Be wordy on what the
44 program is doing. --workers <NUM> Use NUM par‐
45 allel worker threads.
46
47 REMOTE-ADDRESS: IPv4 or IPv6 to test against.
48
49 REMOTE-PORT: Port to test against, defaults to 53.
50
52 Currently the timeout code does not actually perform non-blocking con‐
53 nects or writes. So a slow connect or slow writes will still cause low
54 performance and delays.
55
56 Median queries per second statistics are reported as 0 for sub-second
57 runs.
58
60 PowerDNS.COM BV
61
63 2001-2018, PowerDNS.COM BV
64
65
66
67
684.1 Mar 22, 2019 DNSTCPBENCH(1)