lost and found ( for me ? )

DNS stress tool : how to use dnsperf 2.0


dnsperf 2.0 supports multi thread and multiple UDP sockets.


So you can generate more than 65,536 concurrent DNS queries with one dnsperf box if your dnsperf box has enough resources.Please note that resperf does not support multi thread.

you can download dnsperf 2.0 from http://www.nominum.com/support/measurement-tools/.

generate 20,000 QPS ( keep 20,000 QPS )
# dnsperf -s 127.0.0.1 -d query.txt -l 1000 -c 1 -Q 20000

-c clients
             Act  as  multiple clients. Requests are sent from multiple sock‐
             ets. The default is to act as 1 client.

  -Q max_qps
             Limits  the  number  of requests per second. There is no default
             limit.


[ when specifying “-c 1” ]

dnsperf using one UDP socket.
[root@f18 ~]# ps aux | grep dnsperf | grep -v grep
root      8415 58.0  0.0  80416  5732 pts/1    Sl+  01:59   1:03 dnsperf -s 127.0.0.1 -d query.txt -l 1000 -c 1 -Q 20000

[root@f18 ~]# lsof -np 8415 | grep -i udp
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
     Output information may be incomplete.
dnsperf 8415 root   10u  IPv4 923545      0t0     UDP *:41274

[ when specifying “-c 10” ]

dnsperf is using 10 UDP sockets.
So you could generate , roughly say , 65535 * 10 concurrent DNS queries.
[root@f18 ~]# ps aux | grep dnsperf | grep -v grep
root     10301 84.6  0.3 250980 27116 pts/1    Sl+  02:02   0:02 dnsperf -s 127.0.0.1 -d query.txt -l 1000 -c 10 -Q 20000

[root@f18 ~]# lsof -np 10301 | grep -i udp
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
     Output information may be incomplete.
dnsperf 10301 root   10u  IPv4 951511      0t0     UDP *:57424
dnsperf 10301 root   11u  IPv4 951512      0t0     UDP *:58729
dnsperf 10301 root   12u  IPv4 951513      0t0     UDP *:36795
dnsperf 10301 root   13u  IPv4 951514      0t0     UDP *:34131
dnsperf 10301 root   14u  IPv4 951515      0t0     UDP *:53568
dnsperf 10301 root   15u  IPv4 951516      0t0     UDP *:52096
dnsperf 10301 root   16u  IPv4 951517      0t0     UDP *:54275
dnsperf 10301 root   17u  IPv4 951518      0t0     UDP *:58905
dnsperf 10301 root   18u  IPv4 951519      0t0     UDP *:53209
dnsperf 10301 root   19u  IPv4 951520      0t0     UDP *:47129

dnsperf 2.0 supports multi thread.
[root@f18 ~]# top -b -n 1 | grep dnsperf
10395 root      20   0 1910m 275m 1156 S 219.5  3.6   0:06.47 dnsperf

Here’s an output of qps unbound is processing.
This graph is collected via munin.
120K qps !

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.