当前位置: 首页 > 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.jsqmd.com/news/73399/

相关文章:

  • 工作生活没有节奏感怎么办?
  • 深入剖析高并发场景下ZooKeeper服务端Watcher实现原理
  • 2025 最新空运整柜拼箱/跨境物流/货代/外贸出口/货代方案服务商 TOP5 评测!深度覆盖欧美加专线,全链路赋能 + 实力实证权威榜单发布,专业服务重构跨境贸易生态 - 全局中转站
  • AXI-A7.4.1 AtomicCompare
  • C++的第十四天笔记
  • java学习——枚举类
  • 量子计算开发者必看(VSCode性能调优实战手册)
  • 2025必藏:中低压+低压+中压电缆厂家榜单,实力品牌全在这 - 品牌2026
  • 康迪科技收购美国高端电动越野摩托车品牌,加速多品牌战略布局
  • TinyMCE5支持Latex公式转图片资源导入
  • 实习面试题-Go 性能优化面试题
  • 搞懂“元数据”:给数据办一张“身份证”
  • 04_C 语言进阶之避坑指南:多重 if-else 及多重条件混乱 —— 让逻辑不再 “绕迷宫”
  • leetcode刷题-day6(三数之和)
  • Comsol 光子晶体仿真:拓扑荷、调控merging BIC与相关计算
  • B站视频下载终极指南:免费工具DownKyi完整使用教程
  • 【每天学习一点算法 2025/12/11】合并两个有序链表
  • 探索双馈风力发电系统的双PWM变换器控制
  • [powershell 入门]第9天:PowerShell 安全、代码签名与企业部署 作业及深度解析
  • 【Linux 系统编程核心】进程的本质、管理与核心操作
  • 2025 最新货代 / 货运代理服务商 TOP5 评测!深度覆盖欧美加专线,全链路方案 + 全球网络权威榜单发布,赋能跨境电商与传统外贸高效出海 - 全局中转站
  • Selenium实战指南:用浏览器驱动轻松实现网络爬虫
  • 无监督学习的现代应用:聚类与异常检测在真实业务场景中的落地
  • 2025 最新货代方案服务商 / 厂家 TOP5 评测!深度覆盖欧美加专线,全链路协同 + 跨境直达权威榜单发布,赋能电商全球化布局新生态 - 全局中转站
  • NVIDIA Profile Inspector终极指南:免费解锁显卡隐藏性能
  • 基于Java Spring Boot的相机租赁系统的设计与实现-毕业设计源码50424
  • 12.11 - 最长回文子串 main函数是如何开始的
  • Python学习日记:探索列表的奥秘与编程乐趣
  • 基础数据结构:栈、队列、链表
  • Docker + 多模态Agent = 王炸组合?5个真实生产环境编排案例深度剖析