Jmeter压测DNS服务器

背景

很多场景下,Jmeter都是用作HTTP服务的压测工具。其实,得益于插件,jmeter还有很多其他的功能。其中一条就是用来发送UDP消息,UDP是一种轻量级的网络协议,它的性能一般会很高。

最常用的UDP消息,估计就是dns请求了。DNS服务器的作用是将域名解析成ip地址。

DNS性能指标

插件的作者认为,dns服务器有两个指标比较重要:响应时间和失败率。UDP消息是无状态的,有可能会在网络传输中丢失。如果发生丢失,那么客户端就会一直等待,直到超时;然后还可能会重试。

Jmeter创建dns请求

  1. 打开jmeter这款软件,添加线程组,添加“查看结果数”方便查看结果。
  2. 在线程组中添加一个UDP Request
  3. 使用wireshark或者其他抓包工具,抓取dns网络包,这里用wireshark。如何发出一个dns请求包?在shell或者cmd中执行nslookup www.baidu.com即可。wireshark抓取到的包如下:wireshark抓dns包
  4. 右击”Domain Name System(query)”,然后选择”Copy => Byptes(Hex Stream)”, 然后把复制到的数据粘贴到jmeter UDP Request的body中,当然还需要在UDP Request中配置dns服务器的ip和端口(端口默认是53)。最终的请求如下:udp request
  5. 保存,运行即可。剩下的性能监控,指标之类的跟普通http请求类似。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

(Spamcheck Enabled)