news 2026/4/23 17:30:02

吐血整理,性能测试-稳定性+并发压力TPS与最大并发数估算(详细)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
吐血整理,性能测试-稳定性+并发压力TPS与最大并发数估算(详细)

目录:导读

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

前言

1、稳定性+并发压力测试TPS计算

1)稳定性测试TPS计算

①普通计算公式:TPS=总请求数 / 总时间按照需求得到基础数据,在去年第20周,某平台有5万的浏览量那么总请求数我们可以估算为5万(1次浏览都至少对应1个请求)总请求数 = 50000请求数总时间:由于不知道每个请求的具体时间,我们按照普通方法,我们可以按照一天的时间进行计算总时间=1天=1*24 小时=24 * 3600 秒套入公式可得:TPS = 50000/24*3600秒= 0.58tps

结论:按照普通计算方法,我们在测试环境对相同的系统进行性能测试时,每秒能够发送0.58tsps就可以满足线上的需要。

②二八原则计算方法二八原则是指80%的请求在20%的时间内完成计算公式:TPS=总请求数 80% / (总时间20%)按照公式进行计算:TPS=50000 0.8请求数 / 2436000.2秒 = 2.3tps

结论:按照二八原则计算,在测试环境我们的TPS只要能达到2.3请求数每秒就能满足线上需要。二八原则的估算结果会比平均值的计算方法更能满足用户需求。

③按照业务运营数据进行计算如xxx消费券发放时间固定开始时间,那个用户将会在活动开始前的30分钟内陆续开始访问xxx首页。
进入消费券主页,在活动开始前5分钟大量访问,活动倒计时10秒和活动开始后2分钟内会有用户不断点击和刷新页面。

根据以往活动数据,活动期间,平台总请求数据未50000,时间持续180分钟。得到总请求=50000,时间=158*60=9480秒。再根据二八原则,80%用户在20%时间内访问。

得出:tps=50000x80%/9480x20%=40000/1896=21tps/s计算模拟用户峰值业务操作(压力测试)的并发量,根据这些数据统计图,可以得出结论:可以拿21tps/s作为稳定性测试的参考值。

2)并发压力测试tps计算

三个概念:
用户数:数据库中的总用户数。
在线用户数:登录状态的用户数,挂在系统上,但是不会对系统产生压力。
并发用户数:真正产生操作的用户,产生压力之源。

①秒杀活动压测数据计算假如平台总注册用户数有100w,有10w用户约定好同时对某一接口进行访问。比如1分钟,陆续来访10w用户,那么我们系统并发用户是比实际的10w要小的。

那一个秒杀活动开始时,10w用户在10秒内重复请求多次,平均3次每个人,那么tps=100000/10=10000tps。表明我们目标的tps应达到10000才能抗住100000用户的同时请求。

②领券活动压测平台注册用户数100w,用10w用户准备抢券,10w人同时在10秒内访问抢券接口。
在过程中每个用户可能会多次点击抢券,估算每个用户点击3次抢券接口。那么,tps=100000*3/10=30000tps,系统的目标tps需达到30000才抗住10w用户的并发访问压力。

2、最大并发数估算

平均并发数计算:

平均并发数 = (最大活跃用户数 * 访问页面所需时间) / 页面被持续访问时间

最大活跃用户数: 不管采用什么公式计算,都只能使用最大活跃用户数进行计算,不能按用户总量计算;

访问页面所需时间: 单个用户在访问页面所需的单位时间,比如用户打开首页这个动作,从开始到加载完成所需要的时间;

访问页面持续时间: 活跃用户在高峰时间段访问页面的持续时间,如:早上9点半~10点是高峰访问时间段,则持续时间是30分钟;

举个例子:某站有1W活跃用户,在9点整进行的促销活动,预计持续抢购1分钟,已测得活动页面需要6秒完全加载,则我们可以进行计算:

平均并发 = ( 100000 * 6 )/ 1 * 60 = 1000

从上面的公式,我们也不难得出结论:

页面加载时间越长,并发越大。前面用户的访问未结束,后面的用户又对系统发起了访问的情况;
促销活动开展的时间越长,并发越小。用户的访问变得稀疏,系统的也压力变小;

峰值并发数计算

峰值并发数 = 平均并发数 + 3 * √平均并发数

平均并发数:按上面提到的方式计算
3 * √平均并发数:影响因子

按照上面提到的例子,我们的进一步计算:

峰值并发=1000+3*1000=1095

简单粗略估算:

并发数估计 = 最大活跃用户数 * 10%

在对并发数精确度要求不高的情况,可以按 最大活跃数 * 8%~12% 进行简单估算。

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

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

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)

人生最动人的篇章,往往写在最艰难的转折之后。当你觉得力不从心时,请记住:每一个"不可能"的突破,都始于"再试一次"的勇气。你的坚持,正在为世界书写新的可能!

别让他人的质疑成为你的枷锁!你体内蕴藏着改变命运的力量,每个微小的进步都在为辉煌铺路。当别人停下脚步时,你的坚持就是最有力的回应。向前走,属于你的舞台正等待绽放!

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

MouseTester完全指南:简单三步实现专业级鼠标性能分析

MouseTester完全指南:简单三步实现专业级鼠标性能分析 【免费下载链接】MouseTester 项目地址: https://gitcode.com/gh_mirrors/mo/MouseTester 还在为鼠标反应迟钝而困扰?或是游戏中对枪总是慢人一步?MouseTester让你的鼠标性能评估…

作者头像 李华
网站建设 2026/4/20 14:58:19

鸿蒙如何实现简单手写板效果,提供实现方案思路和源码

鸿蒙如何实现简单手写板效果,提供实现方案思路和源码 一、结论 实现一个手写板功能,基本思路如下: 创建一个可交互的组件,用户在屏幕上触摸并移动手指时,会根据触摸的位置动态生成路径,并使用黑色描边绘制在屏幕上。当用户按下屏幕时,记录按下点的坐标作为路径的起点。…

作者头像 李华
网站建设 2026/4/23 6:45:43

StoryDiffusion实战指南:用AI轻松创作你的第一个神奇故事

StoryDiffusion实战指南:用AI轻松创作你的第一个神奇故事 【免费下载链接】StoryDiffusion Create Magic Story! 项目地址: https://gitcode.com/GitHub_Trending/st/StoryDiffusion 想用AI创作连贯的漫画故事却不知从何下手?StoryDiffusion正是你…

作者头像 李华
网站建设 2026/4/23 6:43:54

day36(12.17)——leetcode面试经典150

21. 合并两个有序链表 21. 合并两个有序链表 我的微服务还没正式开启呢,我这两天在做一个贼简单的网站,昨天写的很兴奋,写到三点,整的今天巨困!!! 题目: 题解: /*** …

作者头像 李华
网站建设 2026/4/23 6:44:41

Base-Admin企业级后台框架终极指南:SpringBoot实战完整解决方案

Base-Admin企业级后台框架终极指南:SpringBoot实战完整解决方案 【免费下载链接】base-admin Base Admin一套简单通用的后台管理系统,主要功能有:权限管理、菜单管理、用户管理,系统设置、实时日志,实时监控&#xff0…

作者头像 李华