如何用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:程序员雷叔

相关推荐
水水不水啊10 小时前
告别杂乱的调试窗口:我用 Python + WebView 写了一个现代化串口助手
python·测试工具·嵌入式·嵌入式开发·串口调试·串口助手
wjjzhbb15 小时前
Jenkins到ArgoCD——GitOps持续交付实践
运维·缓存·jenkins·argocd
jingli916 小时前
一个测试用例把连接池卡死 30 秒:SQLite 连接池 max_size=1 下的重入自锁复盘
jvm·sqlite·测试用例
小鱼,21 小时前
Jenkins构建完成后发送飞书通知消息
jenkins·cicd
Glitch4041 天前
LLM 数据管线缺陷实录:两个单元测试无法覆盖的运行时问题
单元测试
钱栈up1 天前
全量 21 个失败、单跑全绿:泄漏进连接池的 SQL 变量
sql·单元测试·测试
冬奇Lab1 天前
LLM 自动化测试系列(03):单元测试生成——TestGen-LLM 与 Qodo Cover
人工智能·单元测试·测试
花间相见7 天前
【计算基础|网络04】—— HTTP接口实战(下):接口测试、鉴权与跨域排错
java·linux·人工智能·后端·python·计算机网络·postman
慧都小项7 天前
Python 跨文件重构怎么验证?PyCharm 用法查找、重构预览与测试流程
python·重构·pycharm·单元测试
不吃香菜kkk、7 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd