1、概述

在工作的时候,经常被领导问,这个服务可以抗住多大的并发量?吞吐量是多少?QPS、TPS是多少?服务器是否需要增加硬件?是否需要做集群?

刚工作的那几年,当被问到这些问题时,确实有点蒙,心里没有底。

因此虽然是开发工程师,但压力测试的知识还是需要懂一点的,至少能做到心里有底。

2、JMeter

JMeter是apache的开源项目,是用Java语言开发的,是一款简单易用的压力测试工具。

3、JMeter的下载

可以到 JMeter 官网(http://jmeter.apache.org/)下载

在这里插入图片描述
截图来源于JMeter官网

在这里插入图片描述
截图来源于JMeter官网

4、JMeter的运行

注意:运行JMeter前,先确保已安装JDK1.8+版本,并添加环境变量。

将下载的zip文件解压,在bin目录下找到 jmeter.bat(Windows) 或 jmeter(macOS) 文件,双击即可。
在这里插入图片描述

5、修改JMeter界面语言为简体中文

选择 Options —> Choose Language —> Chinese(Simplified)

在这里插入图片描述
选择后,界面的语言会变为简体中文。

6、配置测试计划

测试计划只需要修改下名称,其他选项默认即可。
在这里插入图片描述

7、添加并配置线程组

在测试计划上点击鼠标右键,选择 添加 —> 线程(用户)—> 线程组
在这里插入图片描述

配置以下参数:

线程数:有多少用户请求。

Ramp-Up时间(秒):这些用户请求在多少秒内发起完成,设置为0代表同一时刻并发。

循环次数:每个用户请求多少次。

(实际请求数 = 线程数 × 循环次数)
在这里插入图片描述

8、添加并配置 HTTP请求 取样器

通常我们测试的都是HTTP接口,在线程组上点击鼠标右键,选择 添加 —> 取样器 —> HTTP请求
在这里插入图片描述

配置以下参数:

协议:http 或 https。

服务器名称或IP:服务器的域名或IP地址。

端口号:接口的端口号。

HTTP请求类型:GET、POST、PUT、DELETE等。

路径:接口的请求路径。

参数:请求的参数(根据实际接口选填)。

在这里插入图片描述

9、添加并配置 HTTP信息头管理器

有的接口需要配置一些Header信息才能正常访问。

在线程组上点击鼠标右键,选择 添加 —> 配置元件 —> HTTP信息头管理器
在这里插入图片描述

根据实际情况添加消息头

在这里插入图片描述

10、添加并配置 监听器

压测的结果会显示在监听器上,因此我们需要他们,常用的是 察看结果树 和 聚合报告 这两个监听器。

察看结果树 可以查看每个请求的接口调用详情。

聚合报告 可以查看本次压测的指标结果。

在这里插入图片描述

11、开始压测

鼠标点击测试计划或叶子节点,点击【启动】按钮,即可开始压测。

在这里插入图片描述

点击 察看结果树,可以看到每个请求的详情。
在这里插入图片描述

点击 聚合报告,可以查看本次测试的指标结果。

其中 平均值、中位数、百分位、最小值、最大值的单位都是毫秒(ms)。

在这里插入图片描述

12、清除上次压测数据

当执行下一次压测时,需要先清理上一次的数据,点击【清除】或【清除全部】按钮即可。

在这里插入图片描述

13、综述

今天讲了使用JMeter进行压力测试,按照以上讲述的内容操作,应该可以完成大多数情况的压力测试。

还希望大家多多交流,共同进步。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐