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

【性能测试】6_性能测试基础 _TPS算法

文章目录

  • 一、PV和UV
  • 二、常用平均并发数计算公式
    • 2.1 普通计算方法
    • 2.2 二八原则计算方法 (核心指导原则)
    • 2.3 按照业务数据进行计算
      • 2.3.1 计算模拟用户正常业务操作(稳定性测试) 的并发量
      • 2.3.2 计算模拟用户峰值业务操作(压力测试) 的并发量
  • 三、案例
  • 四、总结

一、PV和UV

  • PV:(Page View)即页面访问量,每打开一次页面PV计数+1,刷新页面也是。PV只统计页面访问次数。
  • UV(Unique Visitor),唯一访问用户数,用来衡量真实访问网站的用户数量。
  • 一般用PV统计用户访问页面的频率,用UV统计用户活跃数。
# 登录Alexa网站流量全球综合排名查询—>选择“流量分析”里面有PV和UV数据 http://www.alexa.cn/

二、常用平均并发数计算公式

2.1 普通计算方法

计算公式: TPS= 总请求数 / 总时间

按照需求所示,在2019年第32周,每天有4.13万的浏览量,那么总请求数,我们可以认为估算为4.13万(1次浏览都至少对应1个请求) 总请求数 = 4.13 万请求数 = 41300 请求数 总时间:由于不知道每个请求的具体时间,我们按照普通方法,我们可以按照日均的时间进行计算 总时间 = 1天 = 1 * 24 小时 = 24 * 3600 秒 套入公式可得: TPS = 41300请求数/(24*3600秒) = 0.48请求数/秒 结论:按照普通计算方法,我们在测试环境对相同的系统进行性能测试时,每秒能够发送0.48请求就可以满足线上的需要

2.2 二八原则计算方法 (核心指导原则)

二八原则就是指80%的请求在20%的时间内完成

计算公式 : TPS = 总请求数 80% / (总时间20%)

按照公式进行计算 TPS = (41300 * 0.8请求数) / (24*3600*0.2秒) = 1.91 请求数/秒 结论:按照二八原则计算,在测试环境我们的TPS只要能达到1.91请求数每秒就能满足线上需要。二八原则的估算结果会比平均值的计算方法更能满足用户需求。

2.3 按照业务数据进行计算

业务数据: 有的公司会统计一定时间内的所有业务数据, 我们可以根据这个业务数据曲线图, 统计出最多请求的数量和时间比例。

2.3.1 计算模拟用户正常业务操作(稳定性测试) 的并发量

根据这些数据统计图, 可以得出结论:

  • 大部分订单在8点-24点之间, 因此系统的有效工作时长为16个小时;
  • 从订单数量统计, 8-24点之间的订单占一天总订单的98%左右(41300*0.98=40474个);

结合二八原则计算公式 : TPS = 总请求数 80% / (总时间20%)

需要在测试环境模拟用户正常业务操作(稳定性测试) 的并发量为: TPS = (40474 * 0.8请求数) / (16*3600*0.2秒) = 2.81 请求数/秒

2.3.2 计算模拟用户峰值业务操作(压力测试) 的并发量

根据这些数据统计图, 可以得出结论:

  • 订单最高峰在在21点-22点之间, 一小时的订单总数大约为8853个。

计算压力测试的并发数: TPS = 峰值请求数 / 峰值时间 * 系数。

需要在测试环境模拟用户峰值业务操作(压力测试) 的并发量为: TPS = 8853 请求数 / 3600秒 * 3(系数) = 7.38 请求数/秒 # 系数3 是经验值,在性能测试中,经验比理论重要。

三、案例

案例:OA系统。有20万人使用。平均每天使用8小时。性能测试,并发数测多少?

[200000 * 0.8 / (8 * 3600s *0.2) ] *3系数 = 83.3

四、总结

1、核心指导原则:

  • 二八原则:80%的请求,发送在20%的时间内。

2、一般计算公式:

  • TPS = 总请求数 * 0.8 / 有效的工作时长* 3600s * 0.2

3、同步并发数:

  • TPS = (总请求数 * 0.8 / 有效的工作时长* 3600s * 0.2 ) * 3系数
http://www.jsqmd.com/news/240350/

相关文章:

  • 万字长文!从零开始构建你的第一个 ReAct Agent
  • Spark动态分区裁剪:大幅提升查询性能的黑科技
  • 智能销售管理软件助力企业获客与销售业绩提升
  • HBase RegionServer高可用:基于Raft的故障自动恢复实现
  • 2026本科必备10个降AI率工具测评
  • 航天器用地球地平线传感器行业全景分析:技术演进、竞争格局与市场规模预测(2026–2032)
  • 【AI应用开发工程师】-Gemini写前端的一个坑
  • 刚入行Java如何快速提升自己的实力,让自己更有竞争力?
  • 低成本MEMS寻北仪,如何破解中小矿山掘进定向困局
  • 做好项目管理的4条潜规则,比埋头干活更管用
  • 数琨创享成功入选江苏省首批入库培育数据企业,踏入数智发展新征程
  • 大数据领域ClickHouse的资源调度策略
  • 【AI应用开发工程师】-别让你的模型患上“金鱼记忆症”
  • 大厂面试必看!这三步快速吃透业务,拿满面试分!
  • 基于python+django+mysql的小区物业管理系统+计算机专业
  • 《自然·通讯》新研究:集成光学相控阵实现全固态、多目标高速光通信
  • 跟我学C++中级篇—std::conjunction手动实现
  • CJA | 北航罗明强教授团队:一种基于生成式人工智能的快速结构化飞行器概念设计方法
  • 企业源代码防泄密软件,该怎么选?
  • 计算机毕业设计springboot校园闲置交易平台 基于SpringBoot的校园二手交易系统设计与实现 SpringBoot框架下的校园闲置物品交易管理平台开发
  • Vue 3的中文文献
  • 基于Django的连锁火锅智慧餐饮管理系统 计算机毕业设计选题 计算机毕设项目 前后端分离【源码-文档报告-代码讲解】
  • C++ 中仿函数和函数对象这两个术语的区别
  • 从资产到智能:数据如何重塑企业估值与增长模型
  • 计算机毕业设计springboot“木成林”学生互助平台的设计与实现 基于Spring Boot的“学林互助”学生服务平台设计与实现 Spring Boot框架下“林聚学”学生互助系统的设计与开发
  • 让资产“活”起来!复杂美“万物上链•WEB3商城”亮相2025全球数字贸易博览会
  • 《Light》突破性成果:2μm波段InP基量子点激光器性能超越传统量子阱结构
  • 创客匠人:智能体赋能老年康养 IP—— 从单兵服务到人机协同的适老化变现革命
  • 我们不是卖产品,而是在交付一种人生的意义
  • 互联网大厂Java面试实战:Spring Boot、微服务与AI技术全解析