当前位置: 首页 > article >正文

如何用jmeter工具进行性能测试

 前言

今天我们来说说jmeter如何进行性能测试,我们都知道jmeter工具除了可以进行接口功能测试外,还可以进行性能测试。当项目趋于稳定,根据性能需求就可以着手准备性能测试了,今天就说一说jmeter如何进行性能测试,jmeter进行性能测试的前提是接口的功能逻辑是通的,没有阻塞bug。

​第一步:设置线程数量

第二步:添加事务控制器

根据业务场景设置事务,将需要进行并发测试的接口拖拽到事务控制器节点下,输出性能测试报告后可以查看该事务的性能测试结果

​第三步:设置同步定时器,同步定时器主要设置两个参数
Number of Simulated User to Group by:每组模拟的用户数,用来控制父节点请求的最大并发数是多少,如果设置为50,表示最大50个线程并发执行;

Timeout in milliseconds:超时时间(毫秒),如果设置为3000,表示如果3秒内50个线程到达父节点则立即并发运行。如果30内未达到50个线程,则有多少线程并发执行多少线程。

​第四步:添加监听器

Graph Results:图形结果,查看运行趋势

View Results in Table:用表格查看结果,查看运行的明细

Summary Report:聚合报告,统计响应信息并提供请求数,平均值,最大,最小值,错误率,大约吞吐量(以请求数/秒为单位)和以kb/秒为单位的吞吐量

Transactions per Second:每秒事务数,每秒钟系统能够处理的交易或事务的数量,它是衡量系统处理能力的重要指标。

Hits per Second:每秒点击率,象征着压力大小

​第五步:通过非GUI模式运行脚本,并分析性能测试报告,输出测试结果

性能测试评价:真对增加稿件事务进行1000UV并发测试时,平均事务响应时间1.67秒,最大2.99秒,均符合需求(<3秒),但是CPU使用里大于80%,存在瓶颈;期间由于连接服务器失败(Non HTTP response code: java.net.ConnectException/Non HTTP response message: Connection refused: connect),导致错误率达到了31.2%,远超5%,存在瓶颈。

压力测试是一个循序渐进的过程,比如每次压力之前设置100,300,500,800,1000,1500,2000,......线程,分析每次压力测试的结果,同时可以设置循环次数查看长时间并发情况下的性能结果,由于时间关系我只压了一次。最后,性能指标需要达到四个标准即:多、快、好、省,时间特性(响应时间快)、处理效率高(TSP),长时间运行稳定,资源特性(系统资源使用率低)。设置好业务场景也是非常关键的,否则测试的结果是不符合业务需求的。

更多测试资源,关注gzh:程序员雷叔 


http://www.kler.cn/a/459254.html

相关文章:

  • Java - 日志体系_Apache Commons Logging(JCL)日志接口库_桥接Logback 及 源码分析
  • 安卓播放器TVbox或影视仓软件如何链接到xiaoya小雅超集?很详细的教程
  • 时间序列预测算法---LSTM
  • 超大规模分类(一):噪声对比估计(Noise Contrastive Estimation, NCE)
  • c#String和StringBuilder
  • Python世界:人生苦短,我用Python
  • .net core 的网络编程
  • 线性代数概念整理笔记
  • python去水印
  • HAL 库 HAL_UARTEx_ReceiveToIdle_IT 函数解析
  • 《深入挖掘Python加解密:自定义加密算法的设计与实现》
  • 2-200基于Matlab-GUI的SVM和ANN的废弃金属分类、分等级系统
  • 力扣面试题 41 - 魔术索引 C语言解法 二分查找
  • 2024-12-30-g++
  • PawSQL性能巡检平台 (3) - 慢查询采集和优化
  • Python入门系列二-控制结构与函数
  • 在WSL的系统中配置免密和GitHub传输数据(SSH)
  • 自研国产零依赖前端UI框架实战008 用户表单以及随机ID
  • 网络原理(六): UDP 协议
  • nacos-gateway动态路由
  • Java工具类Arrays
  • GPIO相关寄存器,点灯
  • 一次 MySQL IF 函数的误用导致的生产小事故
  • linux上虚拟机显示网络不可用的解决方法
  • 建立一个Macos载入image的实例含界面
  • docker 部署mysql8