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

超细整理,性能测试如何做?怎么做?性能压力负载(汇总二)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)

前言

性能测试结果分析和编写性能测试报告

单接口场景负载测试结果分析:
1)采用阶梯加压线程数,设置最高100个并发线程数,分10个阶梯,60秒进行压测,到达100并发线程数的时候再持续压30秒,总共90秒,看tps和响应时间之间的曲线变化,发现tps最高能达到1100/sec,并且接口的平均响应时间和90%line都是在3秒钟之内,并且无错误率,所以登录接口负载测试通过
2)当tps达到最高1100/sec的时候,响应时间开始上升,并且tps开始缓慢下降,这个时候出现了系统的瓶颈点和拐点

单接口场景压力测试结果分析:
1)采用阶梯加压线程数,设置最高100个并发线程数,分10个阶梯,60秒进行压测,到达100并发线程数的时候再持续压3600秒,发现压测到10分钟的时候就出现了tps的频繁抖动,已经出现了内存泄露和内存溢出,所以压力测试场景不通过
调优建议:
2)发生了频繁的fullgc,让开发同事增加堆内存空间

性能测试的面试题

1)怎么找出性能测试的拐点?
响应时间开始上升,并且tps开始缓慢下降,这个时候出现了系统的瓶颈点和拐点

2)怎么知道服务器所能承受的最大的并发用户
我们会采用阶梯式选择并发用户数,比如选择:5-20-40-80-100-150-200-300-500来进行并发测试 ==》找到服务器所能承受的最大的并发用户

3)求出最大的tps
jp@gc - Transactions per Second 找到最高点
4)你们之前公司的tps能达到多少?
400多TPS,500多TPS,1000-1100TPS左右,每个接口的标准不一样
5)什么情况下TPS等于QPS?
处理单接口事务的时候

6)你们在做性能测试的时候是用的单机去压测还是用的多机(分布式)
单机

面试题:你们是用Windows压的吗?还是用Linux压的?
Windows用jmeter软件压测的,Linux服务器用jmeter -n -t xxx.jmx去压的
7)如果不知道并发线程数数到底取多大,怎么操作?
我们会采用阶梯式选择并发用户数,比如选择:5-20-40-80-100-150-200-300-500来进行并发测试

性能专项测试扩展内容

1、性能测试或者压力测试你用jmeter是怎么做的?
【保险业务讲:登录接口,查看险种接口,投保接口,投保用户列表接口,保单查询接口,保单管理接口】
【电商业务讲:登录接口,添加商品接口,关联优惠券接口,查询商品列表接口,商品详情页等等接口】

答案一:
我们产品经理首先会进行性能需求分析评审,并且和我们讲解完之后,我们就会根据需求做性能场景的设计。

比如我就拿我之前做过的一个贷款业务,首先是有登录-贷款资料录入-初审-回退-重新提交-复审-签约接口这样的一个压测场景,和您这边大概说一下吧:

【超级重点】
首先我会在Jmeter里面组建接口,把接口请求组建好之后,设置对应的并发线程数比如100,然后再添加TPS插件,接口响应时间插件,混合图表,查看结果树,聚合报告等等。

然后就开始点击运行,持续压测5分钟,在压测过程当中,我一般会去看TPS和接口响应时间的变化,如果压出来的结果TPS是符合我们要求的,并且接口的响应时间也是符合我们要求的,并且没有错误率,我们就认为这个接口的压测是通过的。

除了这些我还会在服务器端用top命令去监控它的cpu和内存,如果CPU和内存的使用率都能低于70%的话那就说明没问题,我会去输出性能测试报告,然后再发送报告给到我整个项目组。

答案二:
我们一般会先问产品和业务那边tps和响应时间和CPU,内存指标的一些要求,得到这些之后,我会根据需求做性能场景的设计,设计完之后我会在jmeter里面添加阶梯加压的线程组。

设置最高300并发线程数,然后分10次递增,递增的时间为2分钟,再稳定运行3分钟,再添加TPS插件,响应时间插件,以及混合图表,查看结果树,聚合报告这些。

然后就开始点击运行,进行压测,在压测过程当中,我会通过去看混合图表,看接口响应时间跟我的TPS之间的一个曲线变化,然后通过在聚合报告里面看吞吐量tps是否符合我们之前业务定的tps。

如果符合的话,还要去关注接口的响应时间90%line是不是在3秒钟之内。如果在3秒之内就是合格的,还有就是事务的成功率是否高于99.9%,如果低于的话说明接口有很多的报错,也是不符合性能要求的。

除了这些我还会在服务器端用top和vmstat命令去监控它的cpu和内存,如果CPU和内存的使用率都能低于80%的话那就说明没问题,我会去输出性能测试报告,然后再发送报告。

答案三:
我们一般会根据这个版本的性能需求,然后问运维那边生产有多少笔数据,然后通过最近3个月的峰值去计算一个通用模型的tps,然后再根据一天内调用的接口按业务比例相乘得到每个接口的tps,然后根据需求做性能场景的设计。

先设计单业务场景的负载测试,然后再设计混合场景的负载测试,最后再设计稳定性压测场景,设计完再根据场景组建性能测试脚本。

比如我会在jmeter里面添加普通线程组或者阶梯加压线程组,设置对应的并发线程数,然后设置ramp-up,然后设置稳定运行5分钟,然后把这个jmx文件导出上传到服务器,通过jmeter -J{参数名} -r{host} -n -t XX.jmx -l XX.jtl -e -o httpreport命令进行压测。

在服务器端新开窗口通过top命令查看CPU和内存是否低于80%,还有load负载和sy,us这些,通过jstat -gc查看是否有GC,通过vmstat去查看是否有iowait和cs和in这些,然后运行完之后再把生成的jtl文件,在jmeter里面加载出来,再进行一个瓶颈的分析。

然后再一个一个测完,找出性能瓶颈和提供优化建议,最后我会去输出性能测试报告,然后再发送报告。

完整版!企业级性能测试实战,速通Jmeter性能测试到分布式集群压测教程

下面是我整理的2025年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)

无论道路多么崎岖,坚持走下去,终会看到希望的曙光。每一次的付出,都会积累成改变命运的力量。相信自己,不断追求,你比你想象的更强大。

成长从不容易,但每一段磨砺都是成功的基石。勇敢面对困难,不畏挑战。只要不放弃,生命中的每个难关,都会变成你前进的动力。

http://www.cnnetsun.cn/news/9840.html

相关文章:

  • AI的下半场:智能体(Agent)将如何重塑我们所有的应用
  • soular全面介绍(4) - 通过soular工作台聚合TikLab所有工具链
  • R-Zero:从零数据自进化推理大语言模型
  • 弹~性布局
  • Wan2.2-T2V-A14B在地震波传播模拟教学中的科学准确性
  • Day 36 MLP神经网络的训练
  • B站视频下载终极指南:免费工具DownKyi完整使用教程
  • 搞懂“元数据”:给数据办一张“身份证”
  • 04_C 语言进阶之避坑指南:多重 if-else 及多重条件混乱 —— 让逻辑不再 “绕迷宫”
  • 量子计算开发者必看(VSCode性能调优实战手册)
  • Android嵌套滑动冲突完全解析:从原理到实战解决方案
  • ASTM D4169-DC13 标准,包装完整性
  • Linux新手必学:tail命令图解指南
  • 19、利用Scapy和Python进行网络数据包处理与扫描
  • 性能测试里MySQL的锁
  • OBS教程:OBS实时字幕插件如何下载?直播字幕翻译怎么弄?
  • MagicTime: Time-Lapse Video Generation Models asMetamorphic Simulators论文精读(1)
  • Laravel 13多模态表单处理:从入门到精通的6大实战场景,错过等于失业
  • 读捍卫隐私03同步
  • [Android] B站第三方电视TVapp BV_0.3.10
  • 【time-rs】 time-core crate 的 Cargo.toml 配置文件详解
  • 政府网站与政务新媒体考核指标有什么区别
  • FLUX.1 Kontext终极指南:重新定义AI图像编辑的边界
  • Java新手必看:System类为什么会出现安全警告?
  • 基于springboot的大学生实习就业管理系统
  • AXI-A7.4.1 Overview
  • V型翅片与六边形蜂窝翅片的散热性能差异
  • 以太网温湿度传感器五重告警方式如何协同工作?
  • COMSOL介电金属多层膜结构宽谱吸收器:文献复现与吸收特性研究
  • 【必看收藏】LangChain生态实战:LangGraph+LangSmith构建可追踪AI智能体全流程解析