Jmeter简单配置和使用

Posted MrK啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter简单配置和使用相关的知识,希望对你有一定的参考价值。

Jmeter简单配置和使用

摘要

Jmeter是Apache旗下的一款免费的接口性能测试工具,它可以模拟用户请求(请求数量和爆发时间段等)来检测接口性能。本次博客就是简单记录一下如何配置和使用这款工具。

1 下载和安装Jmeter

直接去Apache管网下载即可,百度搜索Jmeter,下载即可。

2 Jmeter安装和配置

安装相对简单,将下载好的压缩包解压到指定目录即可。

配置:

值得注意的是Jmeter是基于Java语言开发的,所以我们使用Jmeter之前需要先安装配置JDK(尽量使用1.8避免版本问题):JDK安装配置

2.1 JMETER_HOME新建

变量名(N):	JMETER_HOME
变量值(V):	D:\\StudyWorkspace\\JavaWorkspace\\java_tools\\JMeter\\install\\apache-jmeter-5.4.1

2.2 CLASSPATH配置

在原来JDK的CLASS_PATH上编辑

.;%JAVA_HOME%\\lib\\dt.jar;%JAVA_HOME%\\lib\\tools.jar;%JMETER_HOME%\\lib\\ext\\ApacheJMeter_core.jar;%JMETER_HOME%\\lib\\jorphan.jar;

2.3 Path新增

%JMETER_HOME%\\bin

2.4 测试是否安装配置成功

WIN+R --> cmd --> Enter --> jmeter

3 简单修改方便使用

可以看到我的打开页面就是中文,这是因为我修改了一些参数

3.1 配置中文界面启动

进入安装目录的的 bin目录找到 jmeter.properties文件打开,修改 language 参数

language=zh_CN 保存后重启就是中文界面

3.2 配置默认编码格式

这里配置默认编码格式为UTF-8 解决后期测试返回结果出现中文乱码问题

通3.1 中的配置文件,找到 sampleresult.default.encoding 参数设置为

sampleresult.default.encoding=UTF-8 保存后重启

4 Jmeter使用

准备工作做完接下来就是使用,我们简单测试一个接口

4.1 新建线程组

右击"测试计划"


注意:

线程组我的理解就是模拟的一组用户

线程数: 模拟的就是这组线程组中的线程数,在真实场景中每一个线程就相当于1个用户,输入100就相当与100个用户在访问这个接口

Ramp-Up 时间: 虚拟用户增长时长,大白话就是说这100个用户在那一段时间内去访问完毕你要测试的接口,例如:我输入300,就相当于300秒内这一百个用户访问这个接口完毕,如果设置为1秒,意思就是1秒内这一百用户一股脑都去访问这个接口。

循环次数:很好理解,设置为1就是这个测试点了运行就只测试一次,如果勾选了永久那就一直循环着访问你的接口.

更详细的理解:Java架构师宝典

4.2 添加Http请求

右击"线程组"


注意:

http请求就和我们postman中设置请求一样,我们可以点击添加,来模拟接口需要的参数,如上图我们模拟了一个token参数传递给后台;

其他保持默认即可,当然根据需求你可能需要设置一些特殊的参数,比如我设置了内容编码等

设置完毕之后点击保存按钮即可或者ctrl+s

4.3 运行测试

点击红色三角符号运行测试,然后点击"选项"–>“日志查看” 即可看到运行日志

4.4 查看运行结果数

可以看到我的左侧有一个"察看结果树"选项,你的应该是没有的,这个需要我们手动添加

右击"线程组"


上图所示就可以查看你的测试结果,设置的线程越多,结果树的结果也就越多,我们可以从这里分析接口的性能,不管是测试环境,还是开发环境,我们都能在系统投入到生产环境之前进行压力测试.

注意: 可以看到responsBody的中并没有出现中文乱码,这是因为我们在一开始设置编码格式的原因.

5 结束语

这次记录是因为自己做的项目里有一个接口前段时间每到中午接口就会挂掉,所以想测试一下是不是接口性能原因导致的,结果证明,确实如此.

从此也涨了个教训,某些接口不只是简单的满足需求就够了,还要考虑实际业务实际生产环境中会遇到的问题等等…

以上是关于Jmeter简单配置和使用的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter的安装和配置

Jmeter使用流程及简单分析监控

jmeterInclude Controller控件&Test Fragment的使用

Jmeter使用流程及简单分析监控(jmeter性能测试)

Jmeter使用流程及简单分析监控(jmeter性能测试)

JMeter接口测试-模块控制器