news 2026/6/4 1:25:08

测试老鸟,性能测试如何做?怎么做?压力负载一篇上高速...

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
测试老鸟,性能测试如何做?怎么做?压力负载一篇上高速...

目录:导读

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

前言

1、性能测试特性?类型由易到难排序

1)性能测试属于专项测试 ==》和安全测试一样
2)性能测试具有非功能的特性,和功能测试是区分开来的
3)功能测试测完之后,介入到性能测试
测试类型由易到难排序 ==》功能测试,APP功能测试,接口测试,UI自动化测试,接口自动化测试,性能测试,安全测试

2、性能测试的测试流程

1)分析性能测试需求 ==》a.甲方提出的 b.通过线上客户反馈的 c.在测试当中发现的
2)编写性能测试方案和性能测试计划
3)编写性能测试用例或者设计性能测试场景

性能测试的类型:
a.并发测试 ==》抢优惠券,秒杀商品 ==》所有的用户在同一个时间调用同一个接口
b.负载测试》不断的对服务器施加压力,发现服务器的瓶颈点和拐点
c.压力测试(稳定性压力测试)
》用服务器100%的tps去稳定运行1H,2H,12H看看是否有内存溢出或者内存泄露等等
d.失效恢复测试 ==》tps会急剧下降掉到0,过一段时间又缓慢上升

4)搭建性能测试环境
5)通过badboy去录制性能测试脚本,准备性能测试数据
6)执行性能测试用例
7)得出性能测试报告和提出性能调优建议

3、性能测试当中的并发、负载、压力,失效恢复测试

a.并发测试 ==》抢优惠券,秒杀商品 ==》所有的用户在同一个时间调用同一个接口
b.负载测试》不断的对服务器施加压力,发现服务器的瓶颈点和拐点
c.压力测试(稳定性压力测试)
》用服务器100%的tps去稳定运行1H,2H,12H看看是否有内存溢出或者内存泄露等等
d.失效恢复测试 ==》tps会急剧下降掉到0,过一段时间又缓慢上升

4、并发测试里面用户的概念

1)注册用户数 ==》电商平台注册用户数为50000
2)在线用户数 ==》取1% ==》500个在线用户线
3)并发用户数 ==》并发度1-5% ==》5-25个

面试题:做并发测试的时候,并发用户数到底怎么取?
我们会采用阶梯式选择并发用户数,比如选择:5-20-40-80-100-150-200-300-500来进行并发测试

5、性能测试的指标

TPS是衡量服务器性能的唯一标准,TPS越高说明服务器性能越好,越低就越差
性能测试的目的:就是通过不断的增加用户数或者不断的增加请求对服务器施加压力,看服务器的处理能力

1)吞吐量 (throughput) ==》平均的tps ==》通过聚合报告里面的吞吐量来监控
博尔特跑1000米只需要95.8秒 ==》实际跑了120秒 ==》吞吐量
博尔特跑100米需要9.58秒 ==》瞬间的tps或者最高的tps

2)tps(transactions per second) 每秒处理的事务数 ==》瞬间的tps ==》jp@gc - Transactions per Second来监控
3)rps(requests per second) 每秒的请求数
4)hps(hits per second) 每秒的点击数
5)qps(queries per second) 每秒sql语句的查询数据或者每秒sql语句的执行数量

6)rt 接口的平均响应时间
客户端发送请求到服务器 T1
服务器处理请求 T2
服务器响应 T3
页面渲染 T4
我们要关注的接口响应时间就是T1+T2+T3,通常我们除了关注接口的平均响应时间,还会关注接口的90%line的时间
7)错误率 ==》事务的错误率低于0.1% ,事务成功率高于99.9%

8)事务
打开cms输入用户名和密码点击登录调用了1个登录接口就是一个事务 1TPS=1QPS
打开cms之后点击登录-添加用户-修改密码-删除用户-退出登录调用了5个接口也是一个事务 1TPS=5QPS

面试题:TPS和QPS有什么区别和有什么关系?
1)tps(transactions per second) 每秒处理的事务数
2)qps(queries per second) 每秒sql语句的查询数据或者每秒sql语句的执行数量
3)对于处理单接口的事务,TPS和QPS几乎是相等的,那么对于处理多接口的事务,TPS和QPS是不相等的。

6、并发测试

相对的并发测试:所有的请求,请求的时间会有一些差异
决定的并发测试:加入集合点Synchronizing Timer,让所有的请求在同一个时间发出

面试题:
1)项目组要求测出tps最高的对应的并发线程数 ==》20并发
2)项目组要求测试无错误率,接口90%line响应时间低于3秒,所支持的最佳并发线程数 ==》200并发线程数
3)项目组要求无报错,接口响应时间无要求所支持的最佳并发线程数 ==》400并发线程数

注意点:服务器的处理能力是有一个上限的或者说是有阈值的
关于TPS计算的公式 : TPS = 并发线程数/接口的响应时间【背诵】
1000TPS = 20/0.02秒
1000TPS = 100/0.1秒
1000TPS = 500/0.5秒
1000TPS = 2000/2秒
1000TPS = 5000/5秒

在限定的接口响应时间内比如3秒,TPS越高说明服务器性能越好 ==》并发线程数为10000,接口响应时间3秒,那么TPS=10000/3=3333.4/sec

7、单接口场景和混合场景负载测试

登录接口 ==》单接口场景 ==》1个接口就是一个事务
登录接口+查询接口 ==》多个接口叫做混合场景 ==》把2个变为1个事务 ==》在jmeter里面放在一个事务控制器里面

并发用户模型:不断的增加并发线程数对服务器施加压力,找服务器的拐点和瓶颈点 ==》站在客户端的角度去思考问题的

吞吐量rps模型:不断的增加请求对服务器施加压力,找服务器的拐点和瓶颈点 ==》站在服务器端的角度去思考问题的
吞吐量tps模型:不断的增加请求对服务器施加压力,找服务器的拐点和瓶颈点 ==》站在服务器端的角度去思考问题的

8、压力测试

1)持续运行1个小时看看tps是否有抖动或者毛刺出现 ==》有可能是堆内存空间太小》导致发生了频繁的fullGC》老年代内存的垃圾回收
2)是否有报out of memory等内存泄露和溢出 ==》多次内存泄露就会内存溢出
3)看load值
4)用dstat -tcmnd --disk-util查看CPU和内存和网络io和磁盘io的情况
5)vmstat 1 1000 主要查看process进程的情况和是否有阻塞
6)GC ==》garbage collection垃圾回收
7)GC ==》jstat -gcutil 16689 1000分析是否有fullgc、内存泄露和内存溢出

8、QPS、TPS、并发数、响应时间(RT)、吞吐率和吞吐量

1)QPS: 每秒钟处理完请求的次数,注意这里是处理完,单接口看做是一个事务的话,1TPS=1QPS

2)TPS:每秒钟处理完的事务次数,一般TPS是对整个系统来讲的。一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多,TPS是衡量服务器性能的唯一指标

3)并发数:系统能同时处理的请求数
4)RT:响应时间,处理一次请求所需要的平均处理时间

5)吞吐率
我们一般使用单位时间内服务器处理的请求数来描述其并发处理能力。称之为吞吐率,单位是 “req/s”,吞吐率特指Web服务器单位时间内处理的请求数。

另一种描述,吞吐率是:单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量。它是衡量网络性能的重要指标。通常情况下,吞吐率"字节数/秒"来衡量。当然你也可以用"请求数/秒"和"页面数/秒"来衡量。其实不管一个请求还是一个页面,它的本质都是在网络上传输的数据,那么用来表述数据的单位就是字节数。

6)吞吐量(Throughput)

吞吐量,是指在一次性能测试过程中网络上传输的数据量的总和(包含了TPS,QPS和RPS)

例子:单接口场景

QPS(TPS)= 并发数/平均响应时间 并发数 = QPS(TPS)*平均响应时间 throughput吞吐量 = jmeter的总共请求次数/运行的时间

一个典型的上班签到系统,早上8点上班。7点半到8点这30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每一个员上登录签到系统的时长为5分钟。能够用以下的方法计算。

QPS(TPS) = 1000/(30x60) 事务/秒 = 0.56
平均响应时间为 = 5x60 秒
并发数= QPS(TPS)*平均响应时间 = 1000/(30x60) x(5x60)=166.7

意思就是说最低需要166.7个人同时登录签到系统进行签到,才能在30分钟内完成所有1000人的签到操作。

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

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

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)

人生最动人的风景,往往藏在最险峻的山巅。当你觉得力竭时,请记住:每一次坚持都在重塑更强大的自己。别问路有多远,只管迈步向前;别怕山有多高,向上攀登就是答案!

你体内沉睡着改变世界的力量!每个清晨都是改写命运的新机会,每次挫折都是精心包装的礼物。当全世界都在说"不可能"时,正是你证明"可能"的最好时机!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/3 6:49:06

为什么MapReduce会被硅谷一线公司淘汰?

你好,我是蔡元楠。 今天我要与你分享的主题是“为什么 MapReduce 会被硅谷一线公司淘汰”。 我有幸几次与来 Google 参观的同行进行交流,当谈起数据处理技术时,他们总是试图打探 MapReduce 方面的经验。 这一点让我颇感惊讶,因…

作者头像 李华
网站建设 2026/6/1 3:27:45

SSM学生选课系统xvbna(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面

系统程序文件列表 系统项目功能:学生,教师,课程信息,选课申请,选课记录,公告信息,取消课程 SSM学生选课系统开题报告 一、课题研究背景与意义 (一)研究背景 在高校教学管理工作中,学生选课是连接教学资源与学生需求的关键环节。…

作者头像 李华
网站建设 2026/6/3 11:40:08

二阶锥松弛在配电网最优潮流计算中的应用Matlab实现

✅作者简介:热爱数据处理、建模、算法设计的Matlab仿真开发者。🍎更多Matlab代码及仿真咨询内容点击 🔗:Matlab科研工作室🍊个人信条:格物致知。🔥 内容介绍最优潮流计算是电网规划,优化运行的重…

作者头像 李华
网站建设 2026/5/30 18:57:46

外文文献检索网站使用指南与资源获取方法

做科研的第一道坎,往往不是做实验,也不是写论文,而是——找文献。 很多新手科研小白会陷入一个怪圈:在知网、Google Scholar 上不断换关键词,结果要么信息过载,要么完全抓不到重点。今天分享几个长期使用的…

作者头像 李华
网站建设 2026/5/1 5:43:55

UL 认证光伏电表如何满足北美逆变器并网要求?

安科瑞刘鸿鹏在北美光伏市场中,无论是分布式屋顶光伏,还是工商业逆变器并网项目,对电能计量与并网监测的要求始终处在一个较高标准。并网合规、发电量核算、能量流向判定以及与逆变器系统的稳定通信,都是光伏系统能否顺利运行的基…

作者头像 李华