CALIDNS(1)

πŸ’– CALIDNS πŸ’–

okay bestie, so this is calidns, and it is literally a DNS recursor testing tool from the PowerDNS Authoritative Server. it's giving load-tester energy. it's giving "i will find out exactly how much your recursor can take." slay.


✨ SYNOPSIS ✨

calidns [OPTIONS] QUERY_FILE DESTINATION INITIAL_QPS HITRATE

🌸 DESCRIPTION 🌸

so here's the vibe. calidns reads queries out of QUERY_FILE and yeets them as recursive queries at DESTINATION (that's an IPv4 or IPv6 address, and you can tack a port number on there too if you want), starting at INITIAL_QPS queries per second, and it's aiming for a cache hitrate of HITRATE percent.

then it goes and figures out the max amount of queries per second your recursor can actually handle at that HITRATE. that's the whole point. it's the main character. 🫢


πŸ¦‹ QUERY_FILE FORMAT πŸ¦‹

it is so simple bestie, do not stress. QUERY_FILE should just contain "QNAME QTYPE" tuples, one per line. like:

powerdns.com A
powerdns.com AAAA
google.com A

this is similar to the Alexa top 1 million list. iykyk. πŸ’…


πŸŽ€ OPTIONS πŸŽ€

  • --ecs <SUBNET> β€” adds the EDNS Client Subnet option to outgoing queries, using random addresses pulled from the SUBNET range you specify. heads up: IPv4 only, bestie.
  • --ecs-from-file β€” reads IP or subnet values out of the query file and adds them as the EDNS Client Subnet option on outgoing queries.
  • --increment <NUM> β€” on every subsequent run, multiplies the number of queries per second by NUM. by default this is 1.1.
  • --maximum-qps <NUM> β€” stops incrementing once this rate has been reached, so you get a stable load instead of a runaway one.
  • --minimum-success-rate <NUM> β€” stops the test as soon as the success rate drops below this value, in percent.
  • --plot-file <FILE> β€” writes results to the file you specify.
  • --proxy-protocol β€” sends a Proxy Protocol payload in front of outgoing queries, using random addresses from the specified range as the initial source IP. (IPv4 only, just so you know. πŸ‘€)
  • --proxy-protocol-from-file β€” reads IP or subnet values from the query file and uses 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 one is mostly useful when you use it together with --minimum-success-rate.
  • --want-recursion β€” set this flag to send queries with the Recursion Desired flag set.

πŸ‘‘ AUTHOR πŸ‘‘

PowerDNS.COM BV


PowerDNS.COM BV


and that's the whole page, no notes. πŸŽ€ this was calidns(1) from the PowerDNS Authoritative Server, and the version stamped on this one is from Aug 05, 2026 β€” so if you're reading this way after that date, go check if there's a fresher one, k? bye bestie, go break your recursor (responsibly) πŸ’–βœ¨

πŸ“¦ where this page comes from