域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,DNS通常使用UDP53端口(也支持TCP53)。除了在公网使用DNS做域名解析之外,在内网环境下,为了支持内部域名解析或者是一些高可用服务时,通常需要自建DNS服务。那么自建的DNS服务性能如何,则需要在部署生产环境之前进行性能测试。
本文就介绍一种使用Jmeter进行DNS压测的方法。很多场景下,Jmeter都是用作web服务的压测工具,得益于插件的支持,Jmeter还可以扩展出很多其他的功能,比如通过UDP Protocol Support插件,能够模拟发送UDP消息,而DNS服务通常使用的就是UDP协议,构造合适的UDP请求,就可可以用来压测DNS服务。
整个压测过程包含三个部分,1、软件和环境准备;2、压测脚本构造;3、压测和结果分析
软件环境准备
本次压测基于Jmeter 3.2 和 JDK 8 ,在windows x64环境下生成压测脚本