使用Jmeter进行核心API压力测试

最近公司有发布会,需要对全链路比较核心的API的进行压测,今天正好分享下压测软件Jmeter的使用。

一、什么是Jmeter?

JMeter 是 Apache 旗下的基于 Java 的开源性能测试工具。最初被设计用于 Web 应用测试,现已扩展到可测试多种不同的应用程序、服务和协议,例如 HTTP、FTP、JDBC、SOAP、REST 等。

它能模拟大量并发用户向目标系统发送请求,收集并分析系统在不同负载下的性能数据,帮助测试人员评估系统的性能和瓶颈。

二、如何使用

1. 下载安装

官网直接下载Jmeter的安装包。

  • mac选.tgz。
  • windows选.zip

下载完成之后解压。

2. 配置环境变量并启动

这里以mac为例。

a. 首先打开bash_profile文件

bash 复制代码
 vim ~/.bash_profile

b. 配置环境变量

bash 复制代码
export JMETER_HOME=/Users/***/Downloads/apache-jmeter-5.6.3 # 替换成你的jmeter安装包的路径
export PATH=$JMETER_HOME/bin:$PATH  
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH

c. 执行以下命令,让bash_profile生效

bash 复制代码
 source ~/.bash_profile

d. 终端输入jmeter或者在jmeter的bin文件下找到jmeter的可执行文件点击均可启动

3. 初始化测试计划

5. 初始化线程组

  • 线程数
    表示并发请求的数
  • Ramp-Up时间
    在该时间内启动设定的线程数。
    如上图所示,则表示5秒内启动50000个线程发送50000个请求。
  • 循环次数
    表示循环执行线程发送请求的次数。上图中给出的示例则表示每5秒内启动50000个线程发送50000个请求,总计执行10次,合计50w个请求。

最终的测试结果与这三个参数有很大关系,请结合业务需求合理配置。

6. 配置http请求并执行

假如你的API地址是http.qd.com/demo/get-test-data。

那么服务器名称或IP地址这里填http.qd.com, 路径填/demo/get-test-data。

请求参数或请求体按需填写即可。

填写完成后,点击执行即可

7. 评估压测结果

添加以下三项即可。

  • 查看结果树
    结果树中看到每一个Http请求的详细数据,包括请求和相应数据。
  • 汇总报告

    最大值和最小值表示这些样本中响应时长的最大值和最小值,单位为ms。
  • 聚合报告

    90%百分位,表示90%的请求,响应时间小于等于14157ms。
    95%百分位和99%百分位类似。
相关推荐
sheji52614 分钟前
JSP基于信息安全的读书网站79f9s--程序+源码+数据库+调试部署+开发环境
java·开发语言·数据库·算法
毕设源码-邱学长5 分钟前
【开题答辩全过程】以 基于Java Web的电子商务网站的用户行为分析与个性化推荐系统为例,包含答辩的问题和答案
java·开发语言
摇滚侠20 分钟前
Java项目教程《尚庭公寓》java项目从开发到部署,技术储备,MybatisPlus、MybatisX
java·开发语言
€81132 分钟前
Java入门级教程24——Vert.x的学习
java·开发语言·学习·thymeleaf·数据库操作·vert.x的路由处理机制·datadex实战
Mr_star_galaxy41 分钟前
【JAVA】经典图书管理系统的实现
java
昊坤说不出的梦1 小时前
【实战】监控上下文切换及其优化方案
java·后端
今天_也很困2 小时前
LeetCode热题100-560. 和为 K 的子数组
java·算法·leetcode
在繁华处2 小时前
线程进阶: 无人机自动防空平台开发教程V2
java·无人机
A懿轩A2 小时前
【Java 基础编程】Java 变量与八大基本数据类型详解:从声明到类型转换,零基础也能看懂
java·开发语言·python
m0_740043732 小时前
【无标题】
java·spring boot·spring·spring cloud·微服务