Jmeter压力测试案例

介绍

Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。

官方网站:https://jmeter.apache.org/

下载

Jmeter压力测试案例_第1张图片
Jmeter压力测试案例_第2张图片
这里下载windows版本的jmeter,下载好解压,下面为解压目录
Jmeter压力测试案例_第3张图片
双击运行bin目录下的Apache Jmeter.jar,打开程序界面如下
Jmeter压力测试案例_第4张图片

不带请求参数http接口测试

我们在这里模拟1000个并发访问我们的商品列表界面,操作步骤如下

1 给测试计划添加线程组
Jmeter压力测试案例_第5张图片Jmeter压力测试案例_第6张图片
2 给我们要进行的同一个项目的请求配置基本请求配置,这样,我们不用每次都带服务器的地址和端口
Jmeter压力测试案例_第7张图片
Jmeter压力测试案例_第8张图片
3 添加http请求
Jmeter压力测试案例_第9张图片
Jmeter压力测试案例_第10张图片
4 添加结果查看组件

添加聚合报告:以查看所有请求的平均访问情况,qps吞吐量等
Jmeter压力测试案例_第11张图片
Jmeter压力测试案例_第12张图片
添加用表格查看结果方式:以查看每个请求的具体访问情况
Jmeter压力测试案例_第13张图片
在这里插入图片描述
5 执行测试
Jmeter压力测试案例_第14张图片
点击如图绿色按钮开启测试

6 查看测试结果
在这里插入图片描述
可以看到1秒钟可以处理458个请求

下面是用表格查看结果,查看每个线程的具体请求信息
Jmeter压力测试案例_第15张图片

带请求参数http接口测试

测试接口:获取用户信息接口,参数是token

修改配置如下,添加请求和参数
在这里插入图片描述

发起1000个并发,可以看到1000个并发用同一个token吞吐量为112个每秒,我们这里用到的同一个token,为一个用户在这里插入图片描述
这个接口因为我们需要在redis中获取token对应数据,因此会出现访问redis的情况,我们查看项目的控制台,可以发现大量下面的异常,即无法获取到连接的情况,因为配置参数过小,导致获取不到连接,会因为获得连接而浪费时间,因此吞吐量会相应下降,因此我们需要调大redis连接池的参数
Jmeter压力测试案例_第16张图片

实际情况下,我们想想的是模拟多个用户,因此会有多个token,我们需要生成1000个真实token来模拟1000个真实用户的访问行为,name怎么快速加载这1000个token参数呢?在这里一行一行加肯定是不理智的

方法如下:
Jmeter压力测试案例_第17张图片
创建如下图所示config.txt,好比第一个参数是用户id,第二个是用户的token,然后依次枚举1000行,表示1000个用户
Jmeter压力测试案例_第18张图片
然后在下面的csv数据文件信息中填写如下,第一个填写刚刚的参数文件地址
Jmeter压力测试案例_第19张图片
接着在前面配置引用的变量名称
Jmeter压力测试案例_第20张图片
这里配置引用这个变量,就会从获取config文件中获取到这个变量的引用值,然后启动测试

你可能感兴趣的:(并发编程)