Understanding and configuring load - sandeeprenjith/dnsblast GitHub Wiki

While stress testing or performance testing DNS, it is important to configure the load that is being generated towards the DNS server.

With DNSBlast, the load is configured mainly using two parameters.

  • Queries per second
  • Concurrent queries
  • Threads

Queries per second

This specifies the maximum number of queries being generated towards a DNS server per second. Queries per second is specified using "-r" flag which stands for rate. A rate of "-r 10000" means that a maximum of 10000 queries will be generated towards the server per second. This could be lesser based on the client machine's capability.

Concurrent queries

This specifies the number of concurrent queries being generated towards a server at a point in time. This is specified using the "-q" flag. For example, running DNSBlast with "-q 100" would mean that there would be 100 queries generated at once, 100 sockets would be opened at once. Hence a high number of concurrent queries could end up hitting the "ulimit" for number of open files (unix/linux) on the client and server.

Threads

Threads are specified using the "-t" flag. Each thread would send the number of concurrent queries specified by the "-q" option but would limit the number of queries by the QPS specified by the "-r" flag.