基于 jmeter tcp 压力测试

本贴最后更新于 1611 天前,其中的信息可能已经东海扬尘

大家好呀,今天给大家blabla Jmter工具如何去做压力测试
======================上篇========================
1、Jmter如何汉化

方法一:在网上找一个已经汉化好了的,直接下一步,下一步安装就好了,

方法二:之前一直以为这是这个工具的汉化方式,后来才发现这个玩意人家早就支持多种语言了的,真TM坑,大家按照图中方式点击就行了,直接选择语言

image.png

2、在使用Jmter进行测试之前首先要确认直接的TCP报文是正确的,这里推荐一个工具测试自己的报文是否正确,下载链接:
链接:https://pan.baidu.com/s/1CxzpHu9XHPZ3kzJYLmTnDA
提取码:6ajy
具体工具使用可以参照:https://blog.csdn.net/hhhhh89/article/details/52819215

选择创建连接,填好类型,ip ,端口就行了,因为是模拟客户端只用选择客户端模式就行了,这个工具挺强大的,不仅能模拟客户端发,还可以模拟服务端回。还可以模拟UDP组播,可以研究研究,有需要的朋友们

image.png

这里是创建好后,可以通过点击连接,点击发送,就可以在接收区域看见tcp报文回的数据,这样可以确保你的报文没有错误,注意在socket tcp中一般以16进制形式,所以要在发送和接收区域都把16进制勾选上

image.png

3、jmeter工具的使用
当确认你的报文没有问题的时候,就可以使用Jmeter工具进行压力测试了,这里就不介绍该工具如何安装了,安装教程:https://blog.csdn.net/hapasm/article/details/61912902

好了blabla这样久了,可以开始搞了,下面呢是建立线程组,我选择的是jp@gc - Stepping Thread Group (deprecated),这个线程组
image.png

– This group will start 10 threads:设置单台负载机,线程组启动的线程总数为10个

–First,wait for 0 seconds:启动第一个线程之前,需要等待0秒

–Then start 2 threads:设置最开始时启动2个线程

–Next,add 2 threads every 1 seconds,using ramp-up 3 seconds:每隔1秒,在3秒内启动2个线程

–Then hold load for 60 seconds:单台负载机启动的线程总数达到最大值之后,再持续运行60秒

–Finally,stop 2 threads every 1 seconds:每隔1秒,停止2个线

这个呢是选择了jp@gc - Stepping Thread Group (deprecated)这个线程组出现的样子
image.png

这些呢都是官方给的描述,实际上还是看不懂,下面呢还是把这些东西给翻译成人话!

=======================================中篇==============================================

接着上次的讲,这里呢给大家提供一个Jmeter的安装包,只用配置一下环境变量就好了,这个是可以共存的,我的电脑就同时有好几个版本。我讲的的那些插件都是装好的
image.png
链接:https://pan.baidu.com/s/1cy2LXPntQ2JQDRhSizY11A
提取码:5v20

然后呢为了给大家能够看懂给大家重新接了个图,并写了一下。
image.png
然后给大家翻译成人话:
this group will start :最终增加到多少线程

first,wait for :多少线程后开始执行

then start:第一次采用多少线程开始

next add 然后每次增加多少线程

threads every 每次加完线程后执行多久

using ramp-up 用多少时间来增加完这些线程

then hold load for 增大到最大线程后执行多久

finally stop 每次下降多少线程

threads every 下降后执行多久

然后线程设置的话,连起来的意思是(以图片为例):
在本次压力测试中,总共开启100线程,10秒钟后开始执行,每10秒钟开始增加20线程,每次线程执行60秒,直到增加到100线程,然后执行600秒(10分钟),然后每次下降20线程,没下降一次执行10秒。好了这个就是这个线程组配置的大致意思,这个配置好了就依次再该线程组后面添加(csv数据文件设置、TCP取样器、查看结果数、聚合报告、TPS这些东西)

1、CSV文件配置
2、TCP取样器配置
3、根据 (聚合报告)和(TPS) 推测自己的测试结果的有效性

=====================下篇=========================
1、根据测试结果进行测试数据,测试配置进行调优
2、确认测试有效性,观察服务器相关指标
3、输出测试报告

如果有写的不对的地方请大家指正,谢谢。下次完善下篇和中篇

7 回帖
请输入回帖内容 ...
  • huahua

    🤓 这个可以说是非常妥了,如果可以加以你们文字的实战描述就更加厉害呀!

  • huahua
  • zymnstlm

    大佬,是不是没有写完阿。期待你的更新。

  • shiyue

    最近加班,😂 😂

  • shiyue

    完善中😄

  • yuyangjun

    向大佬致敬

  • ArtNowBen

    推荐一款压测工具。dperf是一款网络压测工具。dperf可以测试带宽、PPS、新建连接数、并发连接数,能够准确发现丢包。比idperf好用,很多公司用dperf测试防火墙、F5、DPVS等的性能。谢谢。 [https://github.com/baidu/dperf

    ](https://github.com/baidu/dperf)

请输入回帖内容 ...