dnsperf(DNS压力测试)
dnsperf
and resperf
Usage
dnsperf
and resperf
read input files describing DNS queries, and send those queries to DNS servers to measure performance.
Dependencies
To install the dependencies under Debian/Ubuntu:
1 | apt-get install -y libbind-dev libkrb5-dev libssl-dev libcap-dev libxml2-dev libjson-c-dev libgeoip-dev \ |
Building from Git repository
1 | git clone https://github.com/DNS-OARC/dnsperf.git |
Command
1 | queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries] |
- -d: 后面接上一个文件,文件的内容是用户对DNS的请求,一行为一条请求,所以为了测试,我们可以在里面写上几千几万条。
- -s: DNS服务器地址
- -p: DNS服务器端口
- -q: 请求多少次
1 | :~$ vim querytest.txt |
性能测试总结
- 在作服务器的性能测试时,最好不要在服务器平台自身使用测试软件测试,最好换另外一台机器,这样CPU处理的结果会更准确。
- 测试时先预估平台会遇到的最大请求数,用这个请求数作测试,量力而为,因为如果服务器遇到大流量的DDOS,单一机器性能再好,也扛不住。
- 使用queryperf作性能测试时,最好测试多次,取平均值。
- 可以修改配置文件的部分参数测试,如,开启递归,开启查询日志等功能作测试。
- 其它开源测试工具,tcpcopy
References:
- dnsperf-github
- dnsperf-webpage