news 2026/1/14 10:03:52

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
超细整理,性能测试如何做?怎么做?性能压力负载(汇总三)

目录:导读

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

前言

做性能测试的时候需要关注哪些性能指标,监控体系是怎样的,从哪些方面进行瓶颈分析,怎么调优?

1)关注的性能指标:
业务指标主要关注了:接口的平均响应时间、90%line、吞吐量tps(系统每秒处理事务数)、错误率
资源指标主要关注了: cpu、内存、磁盘、网络(i/o)
应用指标主要关注了:如空闲线程数、数据库连接数、GC/FULL GC次数、函数耗时等。

前端指标主要关注了:如页面加载时间、网络时间(DNS、连接时间、传输时间等)
我们当时规定的tps必须要达到270/s以上,接口的平均响应时间要小于3秒,错误率为0%,CPU和内存的使用率是需要低于70%以下的

2)监控体系
操作系统:CPU(User、Sys、Wait、Idle)利用率、内存利用率(包括Swap)、磁盘I/O、网络I/O、内核参数等。
中间件:线程池、JDBC连接池、JVM(GC/FULL GC/堆大小)。
数据库:效率低下SQL、锁、缓存、会话、进程数等。
应用:方法耗时、同步与异步、缓冲、缓存。

3)瓶颈分析
操作系统资源消耗:CPU、Memory、Disk I/O、Network I/O。
中间件指标:线程池(Thread Pool)、数据库连接池(JDBC)、JVM(GC/FULL GC/堆大小)。

数据库指标:效率低下SQL、锁等待/死锁、缓存命中率、会话、进程等。
应用:方法耗时、算法、同步和异步、缓存、缓冲。

压力机:压力机资源消耗,一般情况下,压力机成为瓶颈的可能性非常低。PTS压力机有保护和调度机制不用单独关注。

4)调优
中间件调优:线程池、数据库连接池、JVM。
数据库调优:效率低下SQL、死锁和锁等待、缓存命中率,进程和会话参数。
应用调优:方法耗时、算法、同步和异步、缓存、缓冲。
系统资源:一般情况下,系统资源(例如CPU等)大部分是由应用和参数设置不合理导致的,并非系统资源不够。

TPS是怎么计算的?

我们当时是根据运维提供给我们的数据,然后按照2:8原则,也就是每天80%的业务量都是发生在20%的时间内。

比如说需要我每天的交易量需要达到50万笔,那么按2:8原则推算就是(50万*80%)/(8小时*20%*3600)=69.4笔/秒,取整为70笔/秒,然后加上有可能有业务扩容乘上一个冗余系数3,最终的TPS就是210/sec左右

简单场景TPS的计算方式:TPS的计算公式 ==》TPS=1/响应时间*并发数 ==》TPS=并发数/响应时间 125TPS = 100/0.8秒

性能测试-电商系统tps计算方法

怎么计算得出tps指标?

1)第一个通过运维那边给的生产数据,看一下生产进件有多少,计算得来的,如果没有生产数据,或者不过就看如下的方法

2)第二个就是根据最近一个月的实际访问数据,比如每天调用了多少个接口,调用了哪些接口,把比例列出来

举个例子,比如我们xxx系统,从2025-9-8到2025-10-8,最高的一天调用接口数量最高为100万次。

那么tps的计算公式如下:
tps = 1000000/24*3600=11.57/sec==》这是通用的tps

比如这100万次请求里面
登录请求比例:40% 那么登录接口的标准tps=11.57*40% = 4.63/sec
退出请求比例:20% 那么退出接口的标准tps=11.57*20% = 2.31/sec
添加商品比例:20% 那么添加商品接口的标准tps=11.57*20% = 2.31/sec
查询商品比例:10% 那么查询商品接口的标准tps=11.57*10% = 1.16/sec
修改商品比例:10% 那么修改商品接口的标准tps=11.57*10% = 1.16/sec

如上是通用的tps模型,除了上面的通用tps模型,还有添加商品和查询商品的业务模型,比如下午9点添加商品占比40%,下午16点查询商品占比20%,那么就需要重新计算了

添加商品业务模型:
首先拿到9点这一小时的数据为10万,那么tps = 100000/3600*40% = 11.1/sec

查询商品业务模型:
首先拿到16点这一小时的数据为8万,那么tps = 80000/3600*20% = 4.44/sec

性能问题1:如果500tps那并发线程数应该是多少?

首先搞清楚一个概念就是:
服务器的tps是有一个阈值的 要达到500tps 用50个并发线程数和100并发线程数,或者200并发线程数 都可以达到500tps,还有一个概念并发线程数和并发用户数不是同一个概念。

并发线程数是jmeter里面的线程数,而并发用户数是需要通过tps来进行承载的,这个里面的并发用户数就是500tps

再延伸一点:如果需要达到500tps并发用户数,如果并发度为1%,那么在线用户应该就是500tps/1% = 50000的在线用户,这个并发度又是怎么计算的呢?

并发度计算:50000的在线用户,在1秒内发出来了500个接口请求,那么并发度等于500/50000=1%,这个就是并发度的计算公式

注册用户计算:可以取在线用户的10-100倍,也就是50万*500万 = 50万-500万的注册用户

500tps = 50个并发线程数/0.1秒
500tps = 100个并发线程数/0.2秒
500tps = 200个并发线程数/0.4秒

500tps = 1000个并发线程数/2秒

总结:用更多的并发线程数来做压测或者负载,不会让服务器的tps继续往上增加,只会增加响应时间,因为每台服务器的tps是有一个上限阈值的,到了这个阈值就不会再增加了。

性能问题2:你们之前支持多少个并发?

所以经常有面试官问你,你们之前支持多少并发,其实这个并发是指的并发用户数,而不是并发线程数,并发用户数是通过tps来承载的。

你上面说的500tps,你就可以理解为并发用户数就是500tps,最高支持500个并发, 而jmeter里面的那个线程数指的是并发线程数,加大并发线程数只会让响应时间变大,而不会增加tps,并且jmeter里面线程数加到超过500,jmeter自身就会很卡。

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

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

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)

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

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

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

国外代理IP怎么选?4大标准帮你避坑选优

随着跨境数据采集、海外营销、国际市场研究等业务需求激增,越来越多企业开始关注国外代理IP的选型问题。但市面上的代理服务五花八门,质量参差不齐,不少用户踩过“IP频繁掉线”、“响应速度慢”、“并发失败”等坑。那么,该如何选…

作者头像 李华
网站建设 2026/1/13 17:27:16

艾体宝洞察 | 当供应链恶意代码会“二次来袭”:Shai-Hulud 事件下,为什么必须重新审视你的应用安全体系?

在 AI、自动化开发和开源生态高度繁荣的今天,一次 npm 包更新,就足以把攻击者请进你的 CI/CD 和云账号。 最新曝光的 Sha1‑Hulud供应链攻击,再次把整个行业敲醒: 它不再满足于“顺手偷点凭证”,而是进化出了—— 可…

作者头像 李华
网站建设 2026/1/13 3:51:29

OpenHarmony环境搭建——02-JDK17安装教程

OpenHarmony环境搭建——02-JDK17安装教程 目录 1 安装JDK 1、下载JDK 2、安装JDK 3、验证安装 2 配置环境变量 1、打开系统属性 2、选择系统变量 3、编辑Path变量 4、验证配置是否成功 本文介绍关于在Windows系统上如何安装JDK、配置环境变量。 1 安装JDK JDK&…

作者头像 李华
网站建设 2026/1/11 15:49:30

21-4. PLC的基本逻辑指令(置位,复位指令)

PLC的置位,复位指令一、指令基本格式与功能根据表置位/复位指令的功能表:指令梯形图 (LAD)语句表 (STL)功 能置位指令—( S ) NS bit, N从 bit位开始的连续 N 个元件置1并保持复位指令—( R ) NR bit, N从 bit位开始的连续 N 个元件清零并保持核心理解&a…

作者头像 李华
网站建设 2026/1/13 16:16:10

VueScan Pro:专业扫描仪增强软件,支持多品牌设备与高质量OCR识别

VueScan Pro作为一款专业的扫描仪增强软件,在文档数字化和图像采集领域发挥着重要作用。这款软件通过其强大的兼容性和丰富的功能设置,为用户提供了超越扫描仪原厂软件的专业级扫描体验。 获取地址:https://pan.quark.cn/s/24a2612e1def 核心…

作者头像 李华