Jmeter压测java接口、Jmeter自定义变量模拟多用户压测

场景:作为开发人员经常需要进行java接口的压测,比如商品抢购、并发量大的活动接口,需要模拟多用户进行并发压测,这个时候就需要使用到Apache的Jmeter压测工具了,本篇讲述的是使用Jmeter自定义变量模拟多用户压测,通俗点讲:就是把参数都放在一个文件中,Jmeter调用接口时动态的去读取,比如你压测某个接口,接口入参需要username、pricecode,将这些个参数都以下面的格式放在某个文件中,压测接口时让接口动态的读取:

17802115971_170921m80,1yuangou_h5
15927730423_150968z24,99yuanvip_pc

具体步骤:

1、 如果你还没有安装Jmeter,请移步至http://jmeter.apache.org/download_jmeter.cgi下载对应的版本并安装;

2、安装好后打开界面如下

image.png

默认的语言是English,要是你不习惯,可往 Options 》Choose Languages 修改为中文,还有主题色,可往 Options 》Look and Feel选项进行修改;

3、选中Test plan右击 》添加 》Threads(Users) 》线程组

image.png

4、选中线程组右击 》添加 》配置元件 》HTTP请求默认值

image.png

这里配置HTTP请求默认值的目的就是为了方便,因为HTTP请求默认值是Test Plan下公用的,这样你就不用在HTTP请求项时一个个配置,注意此步骤不是必须的,你可以直接跳到步骤5;

5、选中线程组右击 》添加 》Sampler 》HTTP请求,这里要注意:接口入参${username}里的username和第6步骤中username、以及和接口的入参http://localhost/common/checkjoin?username=××都是一致的。

image.png

6、选中线程组右击 》添加 》配置元件 》CSV数据文件设置

image.png

这里的变量名称必须和步骤5设置的同请求一同发送的参数项要一致,且和你的controller中的参数名也要一致。

如果接口里包含多个,步骤六中配置的变量名称就得用你自己指定的符号分隔开(上图中的分隔符),要对应你的csv文件中每一列参数分隔符,且步骤五同请求一起发送的参数名字也要对应。

例如我的param.txt文件是这样子的:只有一列username的取值

image.png

如果你的参数只有一个,但是也设置了逗号分隔之类的,也是可以的,不产生影响;

7、选中线程组右击 》添加 》监听器 》察看结果树

image.png

察看结果树界面可以看到每个接口的请求、返回值之类的,类似于抓包后的数据。在监听器选项里还有其他很多选项可以查看到压测情况:

image.png

8、启动你的服务器,我是idea启动的本地服务,实际压测下

image.png

9、要及时的保存测试计划Test Plan,不然关闭后下次进来就找不到了,同时,压测后可以右击查看结果树,清除上一次的测试接口。

原文可见:Jmeter压测java接口、Jmeter自定义变量模拟多用户压测


实际用例:
高并发处理之接口限流
高并发秒杀功能架构设计

推荐阅读更多精彩内容

  • 在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需...
    IT诸葛亮阅读 2,474评论 0 16
  • 为什么要压测 这个问题问的其实挺没有必要的,做开发的同学应该都很清楚,压测的必要性,压力测试主要目的就是让我们在上...
    monkey01阅读 24,655评论 6 55
  • 主要文体来自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...
    Amano阅读 8,347评论 3 26
  • Version:1.0StartHTML:000000201EndHTML:000144424StartFragm...
    甜甜圈也Crazy阅读 1,464评论 0 10
  • 1 Jmeter安装配置 使用Jmeter前首先要安装JDK,配置JDK环境变量。Jmeter不需要安装,下载后...
    茶小汐阅读 1,951评论 0 8