bind自带的queryperf可以比较方便的对DNS服务器进行性能测试,
queryperf的安装比较简单,直接在bind-9.x.x/contrib/queryperf下./configure && make就可以编译好。
README 里有比较详细的使用说明。在测试前需要准备一个域名列表。比如
xx1.dev.net A
xx2.dev.net A
xx3.dev.net A
…………..
xxn.dev.net A
然后使用queryperf -d dnsfile -s DNS_SERVER就能进行测试了。一般不开log的话QPS可以到10W,截图的是虚拟机上部署的bind,而且开了log。
====
测试了一下路由器上ar7240的CPU,dns查询的性能能到接近2K。
[text]
Statistics:
Parse input file: once
Ended due to: reaching end of file
Queries sent: 100000 queries
Queries completed: 99993 queries
Queries lost: 7 queries
Queries delayed(?): 0 queries
RTT max: 0.024000 sec
RTT min: 0.002103 sec
RTT average: 0.010198 sec
RTT std deviation: 0.001260 sec
RTT out of range: 0 queries
Percentage completed: 99.99%
Percentage lost: 0.01%
Started at: Wed Mar 13 16:43:14 2013
Finished at: Wed Mar 13 16:44:07 2013
Ran for: 52.792922 seconds
Queries per second: 1894.060723 qps
[/text]