压力测试工具:jmeter的下载以及使用

本文介绍了JMeter压力测试工具的下载、安装配置过程,并提供启动方法及简体中文设置指南。此外还给出了两个实用的接口压力测试教程链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试不仅要了解项目整体流程,还需要会使用各种测试工具,比如:jmeter压力测试工具。
下面介绍下载以及模拟多用户同时调用同一接口测试页面压测

1.下载地址

https://jmeter.apache.org/download_jmeter.cgi

在这里插入图片描述

2.下载完直接解压,配置环境
(1)此电脑-右键属性-高级系统设置-环境变量-系统变量-中新建JEMETER_HOME,值为你的下载路径
(2)CLASSPATH中配置下面这句话(没有新建classpath即可)

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;

在这里插入图片描述
在这里插入图片描述
检测jemeter命令:
直接win+R是不行的,需要在电脑的搜索输入cmd,命令提示符-右键-以管理员身份运行,再通过命令jmeter -v检测
在这里插入图片描述
检测成功如下图
在这里插入图片描述

启动:本人是直接找到bin下的ApacheJMeter.java文件双击即可启动。网上搜的.bat和.sh也可运行。运行完直接右键-发送到桌面快捷方式即可
在这里插入图片描述

启动后改为-简体中文
在这里插入图片描述

具体使用如下:
1.新建线程组(文件-新建一个项目/选择已经创建过的。在新建的右键-添加-线程-线程组)
2.新建HTTP请求(在线程组右键-添加-取样器-http请求,根据下图添加压测接口/数据)
3.新建CSV数据文件设置(添加-配置元件-CVS数据文件设置)
4.新建查看结果树、聚合报告、图形结果等(具体参数说明如下图)

1.新建线程组在这里插入图片描述
新建线程组
2.新建HTTP请求在这里插入图片描述
3.新建CSV数据文件设置在这里插入图片描述
4.新建查看结果树、聚合报告、图形结果在这里插入图片描述
新建完,具体设置如下
HTTP请求设置:
在这里插入图片描述

CVS数据文件设置:(多个变量时,用英文逗号隔开:_mid,token)在这里插入图片描述

聚合报告说明:
在这里插入图片描述

图形结果说明:
在这里插入图片描述

页面/接口压测: 将请求方式设为GET/POST,填写页面的地址即可,线程数可设1万,循环设10,就是10万次访。如下图1:
如果电脑性能足够强,可线程数可直接设10万,但是一般办公16G的的会卡死,建议2万线程,循环10次

重要事情说三遍: 前后端优化点建议、 前后端优化点建议、 前后端优化点建议:

压测的目的: 发现问题,提高性能,防止几万/十几万用户进同一页面时,页面直接502/无响应了。
通过压测,项目优化方面为:1.接口,因为我们的页面是低代码-装修出来的,再加上这个项目很长时间了,所以进入这个页面时请求的接口很多
一、前端:
1.压缩图片。把每张图片/icon尽可能的压缩到最小,最终小的icon几十kb,大的图片100/200kb,F12在NetWork中查看。然后我们的图片/静态文件css,html等虽然放到了线上的cdn中,所以图片转换为了webp格式,但是仍需要压缩的。

在这里插入图片描述
2.临时修改:不影响此次活动的,不重要的接口,前端直接屏蔽掉;
3.代码中,比如领取完红包,不要调刷新接口,前端手动循环数组刷新页面,再具体的map替换为foreach,用find查找,用this.$set替换浅拷贝/深拷贝。

//线上红包-领取刷新
refreshRedPack(id){
  // this.getPagesData()//方法1接口更新
  this.diypagesData = this.diypagesData.map((group,groupIndex) => {//建议forEach
      //id相同的项
      const targetKey = Object.keys(group.data || {}).find(
        key => group.data[key].id === id
      );
      if (targetKey) {
        // 使用 Vue.set 确保嵌套属性响应式
        this.$set(group.data[targetKey], 'name', 1); // 关键修改!(targetKey已存在直接更新更高效)
        // this.$set(this.diypagesData, groupIndex, group); // return { ...group }; //建议不要用:浅拷贝触发响应式,提高性能。但是用这个会导致页面空白
        return { ...group }
      }
      return group;
    });
      // console.log("更新后的数据:", this.diypagesData);
},

其实前面前端一顿操作,主要的还是后台的改完更为明细,如下
二、后端:

  1. 当前端进行压力测试时,后台通过程序/进程查看哪个接口cpu上升的比较高,让后台优化接口
  2. 通过宝塔查看,压力测试时,负载直接爆满100%,内存使用率不高,所以把大部分接口都存到了内存,这样减少了后台程序PHP/JAVA的压力;
  3. 对服务器进行了扩容

(但是页面压测,并不能实际测十几万用户访问时的高并发等问题,因为只是模拟了多用户访问该页面,其他图片,接口等资源不能够同时访问-只能大概模拟出来,实际还要真正活动时才能看出来卡不卡)
在这里插入图片描述

如何使用进行接口压力测试可以参考下面链接:

https://blog.csdn.net/weixin_45481406/article/details/113097807
https://blog.csdn.net/cs373616511/article/details/123312965
内容概要:这篇文档详细介绍了性能测试的概念及其重要性,涵盖从基本理论到实际操作的具体实施方法。文中通过剖析性能测试的不同种类(包括基准测试、负载测试、压力测试、并发测试和稳定性测试),以及所使用的各种指标如响应时间、吞吐量、并发数与资源利用率,使读者对其形成全面认识。此外,针对JMeter这一常用工具进行了深入探讨,不仅涉及其安装、配置步骤还囊括了创建和调整测试计划、编写高效性能测试脚本、分析测试结果等一系列实操指导,并结合案例展示了如何使用正则表达式和JSON路径进行动态参数传递。特别指出,在服务器端的监控方面强调了对CPU、内存、磁盘IO、网络流量等资源的实时跟踪以辅助判断性能瓶颈所在。文章结尾总结归纳了完整的性能测试执行路线及注意事项。 适合人群:本指南非常适合具备初级到中级水平的测试工程师,尤其对于希望通过实际练习深入了解并掌握性能测试技能的人士十分有益。 使用场景及目标:本文件旨在协助团队构建一套科学高效的性能测试机制,通过识别系统的薄弱环节,确保产品上线前后皆能提供良好的用户体验和服务质量。具体的使用目的主要包括提高系统响应效率,降低运营成本和技术风险,预防意外停服事件的发生。 其他说明:文中穿插了不少实践经验与技巧分享,并提供了大量的配图和实例帮助理解和操作,对于从事互联网应用或移动APP开发项目的工作人员具有较高的实用性。同时建议读者熟悉Linux命令及数据库基础知识以便更好地利用文内的指导信息。
### 解决JMeter在Mac上启动后立即关闭的问题 当遇到JMeter在Mac上启动后立刻关闭的情况时,可能的原因包括但不限于Java版本不兼容、环境变量未正确设置以及缺少必要的依赖库。以下是详细的排查方法和解决方案: #### 1. 验证Java安装情况 确保已安装适合当前系统的Java Development Kit (JDK),并验证其版本是否满足JMeter的要求。可以通过执行`java -version`来确认所使用的Java版本。 #### 2. 设置环境变量 如果通过下载压缩包的方式手动安装了JMeter,则需适当配置环境变量以便顺利运行工具。具体操作如下所示: ```bash export JMETER_HOME=/path/to/jmeter/directory export PATH=$PATH:$JMETER_HOME/bin source ~/.bash_profile # 或者~/.zshrc取决于shell类型 ``` 上述命令会将JMeter路径加入到全局环境中[^4]。 #### 3. 启动脚本调整 尝试修改启动脚本来增加调试信息输出,这有助于定位问题所在。编辑位于`$JMETER_HOME/bin/startup.sh`文件,在顶部添加以下内容以启用更详尽的日志记录功能: ```bash #!/bin/bash set -euxo pipefail exec &> /tmp/jmeter.log ``` 此更改可以让每次启动过程中的所有活动都被重定向至指定日志文件中保存下来供后续分析使用。 #### 4. 使用图形界面模式启动 有时直接双击应用程序图标可能会因为某些原因导致程序闪退。可以考虑切换成命令行方式启动GUI版面: ```bash cd ~/Downloads/apache-jmeter-5.4.1/bin/ ./jmeter -t your_test_plan.jmx -X ``` 这里的参数 `-X` 表示开启远程调试选项,方便进一步诊断潜在错误[^2]。 #### 5. 更新或重新安装JMeter 对于由软件本身缺陷引起的问题,建议尝试更新至最新稳定版本或者完全卸载后再按照官方指南重新部署一次。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值