1FLAME(1)                         Flamethrower                         FLAME(1)
2
3
4

NAME

6       flame – DNS performance and functional testing utility
7

SYNOPSIS

9       flame [options] target [generator-options]
10
11       flame --help
12
13       flame --version
14

DESCRIPTION

16       Flamethrower  is  a small, fast, configurable tool for functional test‐
17       ing, benchmarking, and stress testing DNS  servers  and  networks.   It
18       supports IPv4, IPv6, UDP and TCP, and has a modular system for generat‐
19       ing queries used in the tests.
20
21       It was built as  an  alternative  to  dnsperf  (https://github.com/DNS-
22       OARC/dnsperf) and many of the command line options are compatible.
23
24   Target
25       Target  can be either an IP address or host name which will be resolved
26       first.
27
28   Options
29       -q QCOUNT
30              Number of queries to send every DELAY_MS interval.   Default  is
31              10.
32
33       -c TCOUNT
34              Number of concurrent traffic generators per process.  Default is
35              10.
36
37       -p PORT
38              Which port to flame.  Default is 53.
39
40       -d DELAY_MS
41              Delay between each traffic generator’s run in milliseconds.  De‐
42              fault is 1.
43
44       -r RECORD
45              The  base record to use as the query for generators.  Default is
46              test.com.
47
48       -T QTYPE
49              The query type to use for generators.  Default is A.
50
51       -o FILE
52              Metrics output file in JSON format.
53
54       -l LIMIT_SECS
55              Traffic generation limit in seconds.  0 for unlimited.   Default
56              is 0.
57
58       -t TIMEOUT
59              Query timeout in seconds.  Default is 3.
60
61       -F ( inet | inet6 )
62              Internet family.  Default is inet.
63
64       -f FILE
65              Read  records  from  a file, one per row, QNAME and QTYPE.  Used
66              with the file generator.
67
68       -n LOOP
69              Number of loops in the record list, 0 is unlimited.  Default  is
70              1.
71
72       -R     Randomize the query list before sending.  Default is false.
73
74       -P ( udp | tcp )
75              Protocol to use.  Default is udp.
76
77       -Q QPS Rate limit to a maximum queries per second, 0 is unlimited.  De‐
78              fault is 0.
79
80       -g GENERATOR
81              Query generator to use.  The generators and  their  options  are
82              described in a separate section.  Default is static.
83
84       -v VERBOSITY
85              Output verbosity, 0 is silent.  Default is 1.
86
87       --dnssec
88              Send queries with DNSSEC OK flag set.  Default is false.
89
90       --class CLASS
91              Send queries with given DNS class.  Default is IN.
92
93       --qps-flow
94              Change rate limit over time, format: QPS,MS;QPS,MS;...
95

Generators

97       Flamethrower uses a modular system for generating queries.  Each module
98       may include its own list of configuration options which can be set  via
99       KEY=VALUE pairs on the command line via generator-options.
100
101   static
102       The  generator sends the same query for a QNAME and QTYPE specified via
103       the -r and -t options.  It doesn’t use generator options.
104
105   file
106       The generator reads dnsperf-compatible input file containing QNAME  and
107       QTYPE  pairs  on individual lines.  The name and type is separated by a
108       space.  The input file is specified via the -f option.  File  generator
109       doesn’t use generator options.
110
111   numberqname
112       The  generator sends queries to one-label subdomain with a number for a
113       record specified with -r.  The generator uses following  generator  op‐
114       tions:
115
116       · low - Lowest numeric value to write into the label.  Default is 0.
117
118       · high  -  Highest  number  value  to write into the label.  Default is
119         100000.
120
121   randompkt
122       The generator sends random chunks of data and uses following  generator
123       options:
124
125       · count - number of chunks (packets) to generate.  Default is 1000.
126
127       · size - maximal size of the chunk in bytes.  Default is 600.
128
129   randomqname
130       The  generator  sends queries to random subdomains of the record speci‐
131       fied with -r.  The subdomains may contain binary (non-printable charac‐
132       ters)  including zero byte.  The following generator options are avail‐
133       able:
134
135       · count - number of queries to generate.  Default is 100.
136
137       · size - maximum length of the added label(s).  Default is 255.
138
139   randomlabel
140       The generator sends queries to random subdomains of the  record  speci‐
141       fied  with  -r.   The subdomains may contain only characters valid in a
142       DNS names.  The following generator options are available:
143
144       · count - number of queries to generate.  Default is 1000.
145
146       · lblsize - maximum length of a single added label.  Default is 10.
147
148       · lblcount - maximum number of labels to add.  Default is 5.
149

EXAMPLES

151       Flame localhost over IPv4 on UDP port 53, use default static  generator
152       sending test.com/A queries, no QPS limit, terminate after 10 seconds:
153
154              $ flame -l 10 localhost
155
156       Flame  target.example.test over IPv6 on TCP port 5300 with default gen‐
157       erator and no QPS limit:
158
159              $ flame -p 5300 -P tcp -F inet6 target.example.test
160
161       Flame target.example.test over IPv4 on UDP port 53 with 10  q/s  limit,
162       send AAAA type queries for random one-label subdomains of example.test,
163       limit the query speed to 10 q/s, terminate after 1000 queries:
164
165              $ flame -Q 10 -r example.test -t AAAA -g randomlabel target.example.test lblsize=10 lblcount=1 count=1000
166

AUTHORS

168       NS1 (https://ns1.com)
169

BUGS

171       Flamethrower  at  GitHub  (https://github.com/DNS-OARC/flamethrower/is
172       sues)
173
175       Copyright 2019, NSONE, Inc.
176
177
178
1790.9                            Februrary 6, 2019                      FLAME(1)
Impressum