3. 性能测试之目标评估

2023-11-16


前言

在性能测试中,经常会遇到项目经理,运维或甲方客户咨询这样的问题:
咱们的xxx系统是否能抗住20w的日活呢?
最近我们要上一个活动,引流100w进来,系统是否能扛得住?
咱们的系统是否可支撑1000并发?
xxx业务需要申请多少台服务器合适呢?

想要解决这些问题,就必须先学会怎样由业务场景评估性能目标,然后再梳理出具体的测试场景,执行测试得出数据与目标对比,用数据给出具有说服力的答案

以下介绍常见的4种不同性能目标评估模型


一、模型1:根据日活计算目标QPS

1. 原则

原则:2-8原则
即:20%的时间内完成80%的用户请求数
目标QPS的计算:总请求数 ∗ \ast 80%/用户时间段 ∗ \ast 20%
目标QPS=(日活用户数 ∗ \ast 每个用户每天在系统中产生的请求数 ∗ \ast 0.8)/( 用户时间段 ∗ \ast 3600 ∗ \ast 0.2)
备注:乘以3600是为了换算成秒
所以:要评估目标QPS,需要知晓日活,业务对应的用户时间段,每个用户每天在系统中产生的请求数

2. 事例

场景:xxxApp上线了核酸预约功能,是否可支撑40w的日活
解析:
经实际抓包分析,用户从打开App到完成核酸预约功能,共涉及15个核心接口
假设每个用户每天访问3次核酸预约功能,则
40w的日活每天产生的总请求数:40w ∗ \ast 15 ∗ \ast 3=1800w
因核酸预约业务是全天候的且用户使用时间段集中9:00–17:00,共8h
故根据2-8原则,计算出目标QPS,如下:
目标QPS=(1800w ∗ \ast 0.8 ) / (8 ∗ \ast 3600 ∗ \ast 0.2)=3125
所以要想支撑40w的日活,核酸预约功能的QPS至少应在3125以上


二、模型2:根据压测数据评估最大支撑并发

1. 原则

原则:QPS ∗ \ast 平均响应时间(s)约等于并发
即:拐点并发 / 拐点平均响应时间 ≈ 最大可支撑并发 / 最大可接受响应时间
即:最大可支撑并发=拐点并发*最大可接受响应时间/拐点平均响应时间
备注:
1.拐点并发和拐点平均响应时间是指在性能测试过程中,出现第一个拐点即QPS拐点时,对应的并发和平均响应时间
2.该评估模型适用于性能平稳阶段的最大可支撑并发

可以参考《2.性能测试的本质》中这幅图,估计就更好的理解了
在这里插入图片描述

2. 事例

用户登录接口,测出拐点QPS时,性能如下:
并发100时,qps:1000,平均响应时间:100ms,错误率:0.00%
所以
若用户最大可接受的响应时间为1s,估算可能可支撑并发:100 ∗ \ast 1 / 0.1=1000
若用户最大可接受的响应时间为3s,估算可能可支撑并发:100 ∗ \ast 3 / 0.1=3000
若用户最大可接受的响应时间为5s,估算可能可支撑并发:100 ∗ \ast 5 / 0.1=5000

估算的是否准确,是需要进行一轮的真实测试,获得更真实可靠的数据

3. 备注

该模型的常见使用场景是,根据目标响应时间,评估出发压的最大并发值,然后再根据评估的最大并发值实际发压,验证是否满足目标响应时间

备注:这个过程中还要关注错误率,如果错误率已经不达标了,那就需要及时停止加压


三、模型3:根据压测数据评估服务器资源

1. 策略

结合目标QPS与现有系统的测出的实际QPS,估算系统所需的服务器数目
例:用户系统目标QPS为1000,现有的压测结果: 单台4C4G的服务器,用户系统性能QPS:600,问若要满足目标QPS, 则服务器配置?
建议配置:2台4C4G的服务器或1台8C8G的服务器
建议策略:扩容后再压测一轮,确保新增服务器后,性能能达标
因为有时性能不一定随着服务器的递增而线性递增的

2. 备注

该情况比较适用于性能瓶颈是因为服务器资源不足而导致的上不去,扩容肯定会有效果,但是如果性能瓶颈是在代码逻辑上,这时这种方式评估服务器资源可能就有较大误差


四、模型4:评估用户并发或峰值并发

看到有网友分享如下的公式:
估算平均并发和峰值并发
1)平均并发用户数为 C = nL/T
2)并发用户数峰值 C‘ = C + 3*根号C

C是平均并发用户数,n是login session的数量,L是login session的平均长度,T是值考察的时间长度,C’是峰值并发

但是在实际的应用场景中,感觉最常用的还是如下评估方法
(用户总量/统计时间) ∗ \ast 影响因子(一般为3)来进行估算并发量

例:以乘坐地铁为例子,每天乘坐人数为5万人次,每天早高峰是7到9点,晚高峰是6到7点,根据8/2原则,80%的乘客会在高峰期间乘坐地铁,则每秒到达地铁检票口的人数为50000 ∗ \ast 80%/(3 ∗ \ast 60 ∗ \ast 60)=3.7,约4人/S,考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那实际并发应为4人/s ∗ \ast 3s=12,当然影响因子可以根据实际情况增大!


总结

通过这四种模型,我们就可以根据日活计算目标QPS与峰值并发,根据压测数据评估最大支撑并发,也可根据压测数据评估出业务需要的最优服务器资源,进一步的把抽象的目标转化了更具象的目标,为性能压测场景的制定奠定了基础

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3. 性能测试之目标评估 的相关文章

  • 服务器OS是什么意思?

    一 什么是服务器操作系统 服务器不仅仅是由高性能硬件组成 并且是要求客户端操作系统 如Windows和Mac OS 服务器还需要一个称为服务器操作系统的操作系统 二 与客户端OS的区别 无论是Windows还是Mac OS 家庭或办公室使用
  • 分辨公网IP和内网IP的方法

    公网IP一般就是对外的访问地址 内网IP就是对内的访问地址 两者的使用范围是不一样的 那如果区分客户网络的IP地址是公网IP地址还是内网IP地址呢 公网IP的地址范围是很广泛的 我们可以先了解下内网IP 因为内网IP的地址段相对是局限的 一
  • 第二节课内容学习

    监听远程端口 并映射到本地 先配置ssh的公私钥非对称加密 假设远程开放的端口为33090 在本地计算机终端执行 ssh CNg L 6006 127 0 0 1 6006 root ssh intern ai org cn p 33090
  • 小白成功搭建Elasticsearch 只需五步(包含配置xpack)

    ElasticSearch 安装成功后 是不需要使用用户名和密码就可以访问的 这也是在配置skywalking的apm过程中 连接es数据库无需设置用户名和密码的原因 启动es也非常的简单 在 bin 目录下运行elasticsearch
  • 进程间通信

    进程间通信 进程间通信介绍 进程间通信目的 数据传输 一个进程需要将它的数据发送给另一个进程 资源共享 多个进程之间共享同样的资源 通知事件 一个进程需要向另一个或一组进程发送消息 通知它 它们 发生了某种事件 如进程终止 时要通知父进程
  • “性能压测揭密:关键指标分析!“

    在进行全链路压测和性能测试时 需要关注多个关键性能指标 KPIs 来评估系统的性能表现 以下是一些常见的性能测试指标 1 吞吐量 Throughput 系统在单位时间内能够处理的请求数量或事务数量 通常以每秒请求数 RPS TPS 来衡量
  • 如何查看崩溃日志

    目录 描述 思路 查看ipa包崩溃日志 简单查看手机崩溃信息几种方式 方式1 手机设置查看崩溃日志 方式2 Xocde工具 方式3 第三方软件克魔助手 环境配置 实时日志 奔溃日志分析 方式四 控制台资源库 线上崩溃日志 线上监听crash
  • 6类典型场景的无线AP选型和部署方案

    你们好 我的网工朋友 前段时间刚给你们来了篇解决无线频繁断网的技术文 解决无线频繁断网 这个办法值得收藏 不少朋友私聊 说想再聊聊无线AP的选型和部署方案 这不就安排上了 无线网络覆盖项目中 无线AP的合理选型和部署非常重要 在设计施工中
  • DreadHunger恐惧饥荒海上狼人杀服务器搭建架设教程windows系统

    DreadHunger 恐惧饥荒海上狼人杀服务器搭建架设教程windows系统 大家好我是艾西 在11月底我有发文 DreadHunger 恐惧饥荒海上狼人杀官方停服的消息 当时在官方的公告模版中公布了在2024年一月一日会将服务端公开让喜
  • 盘点那些年我们一起玩过的网络安全工具

    大家好 我是IT共享者 这篇文章给大家盘点那些年 我们一起玩过的网络安全工具 一 反恶意代码软件 1 Malwarebytes 这是一个检测和删除恶意的软件 包括蠕虫 后门 流氓 拨号器 间谍软件等等 快如闪电的扫描速度 具有隔离功能 并让
  • Linux 系统日志及其归档

    主要记录Linux 系统需要关注的日志文件 以及日志归档服务 rsyslogd 系统日志服务 rsyslogd 日志服务 rsyslogd reliable and extended syslogd 可靠 可扩展的系统日志服务 Rsyslo
  • 如何解读服务器的配置和架构?

    在当今数字化时代 服务器作为企业或组织的重要基础设施 其配置和架构对于保障业务的稳定运行至关重要 如何解读服务器的配置和架构 成为了一个备受关注的话题 本文将围绕服务器配置和架构的解读进行深入探讨 帮助读者更好地理解服务器的性能 扩展性和安
  • 如何解决Mybatis-plus与Mybatis不兼容的问题:An attempt was made to call a method that does not exist. The attempt

    博主猫头虎的技术世界 欢迎来到 猫头虎的博客 探索技术的无限可能 专栏链接 精选专栏 面试题大全 面试准备的宝典 IDEA开发秘籍 提升你的IDEA技能 100天精通Golang Go语言学习之旅 领域矩阵 猫头虎技术领域矩阵 深入探索各技
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • Linux终端常见用法总结

    熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率 笔者结合自身学习实践 总结以下终端用法供同行交流学习 常 见 用 法 1 快捷键 1 1 Alt 在光标位置插入上一次执行命令的最后一个参数 1 2 Ctrl R
  • Jmeter 性能-并发量计算

    并发概念 指网站在同一时间访问的人数 人数越大瞬间带宽要求更高 服务器并发量分为 业务并发用户数 最大并发访问数 系统用户数 同时在线用户数 估算业务并发量的公式 C nL T C C 3 C的平方根 说明 C是平均的业务并发用户数 n是l
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退
  • 服务器中E5和I9的区别是什么,如何选择合适的配置

    随着科技的进步 服务器处理器的性能在不断攀升 其中 Intel的E5和I9系列处理器在业界具有广泛的影响力 而当我们在选择服务器的时候会有各种各样的配置让我们眼花缭乱不知道该怎么去选择 下面我跟大家分享一下E5跟I9有什么区别 方便我们在选
  • 光波导结构

    摘要 增强现实和混合现实 AR MR 领域的新应用引起了人们对带有光栅区域的光波导系统的越来越多的关注 这些光波导系统用于输入和输出耦合以及扩瞳目的 VirtualLab Fusion为这类系统的仿真和设计提供了几个强大的工具 其中一个是具
  • 网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

    01 同程旅行 招聘岗位 网络工程师 职责描述 1 负责职场 门店网络规划 建设 维护 2 负责网络安全及访问控制 上网行为管理和VPN设备的日常运维 3 负责内部相关网络自动化和系统化建设 4 优化与提升网络运行质量 制定应急预案 人员培

随机推荐

  • 信息学奥赛一本通 1240:查找最接近的元素

    题目链接 http ybt ssoier cn 8088 problem show php pid 1240 include
  • 数据库相关知识和进阶知识

    目录 MySQL与Orcale EXPLAIN介绍 EXPLAIN 可以分析慢查询原因 查看MySQL存储空间大小 MySQL事务锁不执行严格的校验
  • Retrofit实现文件上传和下载【二】

    概述 通过前一篇的博客介绍 我们已经对Retrofit的使用有了一个大概的了解 今天来讲讲利用Retrofit进行文件的上传和下载 文件上传 服务器使用的是SSH框架 因此这里是以struts2的方式来获取数据的 我这里定义了三个字段用来接
  • Java发送手机短信验证码

    本次使用的是阿里云的短信服务 1 添加短信签名 签名名称要用的 在阿里云产品中搜 短信服务 gt 免费开通 gt 国内消息 2 添加短信模板 模版CODE需要用的 就在添加签名的旁边 3 创建用户 用户令牌和密码需要用的 然后选择 开始使用
  • bug复刻,解决方案---在改变div层级关系时,导致传参失败

    问题描述 在优化页面时 为了实现网页顶部遮挡效果 内容滚动 顶部导航栏不随着一起滚动 并且覆盖 做法是将内容都放在一个div里面 为这个新的div设置样式 margin top width heigh等 网页效果的确实现了 但是出现的新的问
  • Chisel实验笔记(一)

    最近在学习Risc v 其中伯克利大学开源了一款兼容Risc v指令集的处理器Rocket 而Rocket处理器是采用Chisel编写的 所以要学习Chisel Chisel的简单介绍如下 Chisel Constructing Hardw
  • 基于Arduino的音乐动感节奏灯

    1 音乐动感节奏灯是个什么东西 前段时间听音乐觉得无聊 便想着音乐光听也没意思啊 能不能 看见 音乐呢 于是谷歌了一番 发现还真有人做了将音乐可视化的东西 那就是音乐节奏灯 说的简单点就是LED灯光颜色亮度等随着音乐的节奏而发生变化 看了下
  • 最新机器人工程专业毕设选题推荐

    文章目录 1前言 2 如何选题 3 机器人工程 毕设 选题推荐 4 最后 1前言 近期不少学弟学妹询问学长关于机器人工程专业工程专业相关的毕设选题 学长特意写下这篇文章以作回应 以下是学长亲手整理相关的毕业设计选题 都是经过学长精心审核的题
  • Python-声明变量

    Python如何声明变量 在 Python 中 定义变量非常简单 只需要为变量赋一个值即可自动创建该变量 并推断出变量的数据类型 变量名可以是任意字母 数字或下划线组成 但是不能以数字开头 例如 定义名为 name 的变量 并将字符串 To
  • event类型 php,深入解析PHP的Laravel框架中的event事件操作

    有时候当我们单纯的看 Laravel 手册的时候会有一些疑惑 比如说系统服务下的授权和事件 这些功能服务的应用场景是什么 其实如果没有经历过一定的开发经验有这些疑惑是很正常的事情 但是当我们在工作中多加思考会发现有时候这些服务其实我们一直都
  • 服务器的协议端口在哪里设置,服务器的远程端口号在哪里设置

    服务器的远程端口号在哪里设置 内容精选 换一换 Linux云服务器一般采用SSH连接方式 使用密钥对进行安全地无密码访问 但是SSH连接一般都是字符界面 有时我们需要使用图形界面进行一些复杂操作 本文以Ubuntu 18 04操作系统为例
  • 飞旭体质健康测试云平台学生体质测试管理系统

    飞旭体测数据管理云平台是由体测设备 微信小程序和云平台构成 用户通过设备测试后 数据传输至云端 由云平台对数据进行针对性的统计分析 平台功能包括管理员分级管理 学生体质测试 学生体质测试成绩查询 测试数据管理统计分析 数据上报管理等内容 具
  • 15 周带你学好大一C语言!最详细C语言学习路线

    要学习 C 语言的读者抓紧时间看一下 我按照C语言学习视频的目录整理了一条以 周为单位时间 的学习路线 希望在开学后能按照这个进度去学习一遍 有要学习 C 语言的读者也可以参照 可能有些知识学习起来比较困难 比如说二进制这种涉及到底层方面的
  • iperf linux移植

    参考链接 1 iperf的git地址 windows版下载地址 git clone https github com esnet iperf git 2 下载到ubuntu上 3 找到交叉工具包的位置 opt arm ca9 linux g
  • 绘制复杂的层次的原理图

    一 绘制总体的区域块模块 1 新建一个PCB项目 在new中的project选择PCB 2 在项目中新建一个sheet文件 schemetic 然后找到place中的sheet Symbol Actions 3 修改每一个绿块的名称和文件名
  • 阻止移动端 touchmove 与 scroll 事件冲突

    在移动端开发过程中 如果要实现一个元素或按钮的拖动定位 会出现很多坑 例如 元素上下移动过程中 会触发 body 的 scroll 事件 导致整体的位置偏移 这时就需要 阻止移动端 touchmove 与 scroll 事件冲突 一 解决思
  • 【致敬未来的攻城狮计划】--RA2E1 开发板测评(3)按键输入

    前言 1 首先感谢 李肯前辈的活动 从而申请到了RA2L1开发板的测评 2 本文主要介绍按键输入的内容 3 学习本文需要准备的前提 致敬未来的攻城狮计划 RA2E1 开发板测评 1 keil环境配置 致敬未来的攻城狮计划 RA2L1 开发板
  • 自助Linux之问题诊断工具strace

    引言 Oops 系统挂死了 Oops 程序崩溃了 Oops 命令执行报错 对于维护人员来说 这样的悲剧每天都在上演 理想情况下 系统或应用程序的错误日志提供了足够全面的信息 通过查看相关日志 维护人员就能很快地定位出问题发生的原因 但现实情
  • 去除li前面小点点

    li list style type none
  • 3. 性能测试之目标评估

    文章目录 前言 一 模型1 根据日活计算目标QPS 1 原则 2 事例 二 模型2 根据压测数据评估最大支撑并发 1 原则 2 事例 3 备注 三 模型3 根据压测数据评估服务器资源 1 策略 2 备注 四 模型4 评估用户并发或峰值并发