初上手!Jemter测试TCP协议


一个对充电桩系统的性能测试前期准备,系统采用TCP协议发送16进制报文的形式进行通信。
为了方便后期测试,而且也是因为第一次接触,直接到客户现场调试了下,发现Jmeter是可以支持TCP协议的测试的,去之前也和小伙伴了解了下,百度上还是有很多对应的文章的,但是苦于没有对应的环境,好在客户那边有套测试环境,这样就可以实操下了。
根据前期看的文章,整个过程分别为:修改配置文件、创建线程组、添加tcp插件、填写服务器信息(ip+端口+报文)、结果树和聚合报告就不多介绍了;本质上和传统的http协议场景的构建可以说是大同小异了,唯一的区别就在于配置文件的修改和协议插件的选择了。

修改Jmeter配置文件

为什么修改Jmeter的配置文件呢?这是因为在配置文件中默认是关闭的,所以需要手动开启…
Jmeter的tcp插件提供了3种报文的实现类

本次调试过程发送的报文是以16进制的方式进行发送的,所以这里使用表格中的第二种方式进行
找到jmeter/bin目录下的jmeter. properties。搜索tcp,然后改成BinaryTCPClientImpl,切记:不能有空格!!!

修改完配置文件后,需要将jmeter重启后才可以生效。

场景构建

按照以往的http方式分别添加线程组、tcp sampler、结果树

填写服务器信息

从图上看到需要填写的就是服务器的ip、端口以及发送的报文信息,值得注意的一点是在TCPlient classname中需要填写和配置文件中一样的handler类名(在TCP sampler中需要写全)

注意⚠️:如果发送的是16进制报文,正常的报文是带有空格的,就像这样

但是在工具中必须要删除报文中的空格,且不能有换行…

运行场景

在发送报文时如果需要保持长链接,在TCP sampler中需要勾选re-use connection才可以

发送后可以看到返回了对应的报文内容,这里看到显示的是红色,这是因为报文没有读取完毕导致的,可以把连接超时时间改短就可以看到是绿色的了

正文完

搜索