性能测试并发量评估新思考:微服务压力测试并发估算

news2024/11/26 11:58:21

性能测试并发量评估新思考

相信很多人在第一次做压力测试的时候,对并发用户数的选择一直有很多的疑惑,那么行业内有一些比较通用的并发量的计算方法,但是这些方法在如今微服务的架构下多少会有一些不适合,下面的文章我们对这些问题进行一些讨论,说一说我的思考。

传统的并发量的计算方法

下面介绍一些行业内的通用的计算方法,但是这些方法也不是绝对正确的方法,这些仅仅是压力测试并发用户数的一种计算方法,但是最后是不是n的并发就可以支持m级别的用户也是由被测系统逻辑复杂的决定的,可以用如下的一种方法确定初始开发压力测试的并发用户数。

计算方法一

  • 1)平均并发用户数为 C = nL/T

  • 2)并发用户数峰值 C‘ = C + 三次根号C

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

例1,假设系统A,该系统有3000个用户,平均每天大概有400个用户要访问该系统(可以从系统日志从获得),对于一个典型用户来说,一天之内用户从登陆到退出的平均时间为4小时,而在一天之内,用户只有在8小时之内会使用该系统。

平均并发用户数为:C = 400*4/8 = 200 并发用户数峰值为:C‘ = 243

例2, 某公司为其170000名员工设计了一个薪酬系统,员工可进入该系统查询自己的薪酬信息,但并不是每个人都会用这个系统,假设只有50%的人会定期用该系统,这些人里面有70%是在每个月的最后一周使用一次该系统,且平均使用系统时间为5分钟。

则一个月最后一周的平均并发用户数为(朝九晚五): n = 170000*0.5*0.7/5 = 11900; C= 11900*5/60/8 = 124 C'=129

计算方法二

对绝大多数场景,我们用(用户总量/统计时间)影响因子(一般为3)来进行估算并发量。   比如,以乘坐地铁为例子,每天乘坐人数为5万人次,每天早高峰是7到9点,晚高峰是6到7点,根据8/2原则,80%的乘客会在高峰期间乘坐地铁,则每秒到达地铁检票口的人数为5000080%/(36060)=3.7,约4人/S,考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那实际并发应为4人/s*3s=12,当然影响因子可以根据实际情况增大。

C=12

计算方法三

比如一个网站,每天的PV大概1000w,根据2/8原则,我们可以认为这1000w pv的80%是在一天的9个小时内完成的(人的精力有限),那么TPS为:1000w80%/(93600)=246.92个/s,取经验因子3,则并发量应为:

C=246.92*3=740

计算方法四

C = 系统最大在线用户数的8%到12%

计算方法五

C=(Think time + 1)*TPS

微服务下的并发估算

如上的并发估算无论是机遇用户数量的计算、还是机遇访问行为的计算都是基终端用户的访问模型进行的一些计算。这些计算方法在当前微服务的架构下有可能有些并不是十分准确,假设有如下一个接口的访问模式。

一个页面包含了4个区域,这四个区域分布调用API A、API B、API C和API D,API A会调用API X,API B和API C会调用API Z,API D会调用API Y。那么假设我们用上面的任何一种方法计算出来该页面的并发量是500,那么从如上示意图中我们可以看出,如果我们用任意一种压力测试工具测试对应接口是500并发,并不对。因为微服务之间的调用,有一些服务有可能会出现访问了激增的情况,这个激增有可能远远大于我们原始的计算评估值。
API Z 因为有三个调用,并且这三个调用都是来自页面的访问,因此Z的并发量应该从1500的并发量作为基准开始进行压力测试,这样评估出来结果才有参考价值。因此微服务下的每个服务的并发量,应该在服务治理后,梳理清楚微服务的调用关系,然后从访问页面的并发量的估算开始,然后逐步分析每一个微服务的最大并发量,在进行计算后作为压力测试的并发起始点,开始进行压力测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1845582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JS【数组】交集、差集、补集、并集

var a [1,2,3,4,5] var b [2,4,6,8,10]var sa new Set(a); var sb new Set(b); // 交集 let intersect a.filter(x > sb.has(x)); // 差集 let minus a.filter(x > !sb.has(x)); // 补集 let complement [...a.filter(x > !sb.has(x)), ...b.filter(x > !sa…

MicroBlaze IP核中Local Memory Bus (LMB)接口描述

LMB(Local Memory Bus)是一种同步总线,主要用于访问FPGA上的块RAM(Block RAM,BRAM)。LMB使用最少的控制信号和一个简单的协议,以保证块RAM能在一个时钟周期内被存取。所有的LMB信号都是高电平有…

[深度学习]--分类问题的排查错误的流程

原因复现: 原生的.pt 好使, 转化后的 CoreML不好使, 分类有问题。 yolov8 格式的支持情况 Format Argument Suffix CPU GPU 0 PyTorch - .pt True True 1 Tor…

Unet已死,Transformer当立!详细解读基于DiT的开源视频生成大模型EasyAnimate

Diffusion Models视频生成-博客汇总 前言:最近阿里云PIA团队开源了基于Diffusion Transformer结构的视频生成模型EasyAnimate,并且提出了专门针对视频的slice VAE,对于目前基于Unet结构的视频生成最好如SVD形成了降维打击,不论是生…

快消品经销商的仓库管理,有哪些是必须注意的事项?

快消品经销商仓库管理是一个复杂而关键的过程,它涉及到产品的存储、保管、发货以及库存控制等多个环节。一个高效的仓库管理系统不仅有助于减少成本,提高运营效率,还能确保产品质量和满足客户需求。以下是一些快消品经销商在仓库管理过程中需…

JDBC之API(DriverManager)详解

之前在 JDBC 的快速入门写代码的时候,遇到了很多的API。这篇博客主要学习一些API。 目录 一、API(介绍) 二、JDBC之API——DriverManager (1)DriverManager (获取 Connection 的连接对象) 1、…

玩转热门游戏,选对系统是关键!游戏专用电脑系统在这里!

如果我们给电脑安装上游戏专用系统,那么就能体验到更加流畅、稳定的游戏运行环境,享受沉浸式的游戏体验。但是,许多新手用户不知道去哪里才能下载到玩游戏专用的电脑系统?接下来小编给大家分享玩游戏专用电脑系统,这些…

Windows应急响应靶机 - Web2

一、靶机介绍 应急响应靶机训练-Web2 前景需要:小李在某单位驻场值守,深夜12点,甲方已经回家了,小李刚偷偷摸鱼后,发现安全设备有告警,于是立刻停掉了机器开始排查。 这是他的服务器系统,请你…

【YOLOv5/v7改进系列】引入特征融合网络——ASFYOLO

一、导言 ASF-YOLO结合空间和尺度特征以实现精确且快速的细胞实例分割。在YOLO分割框架的基础上,通过引入尺度序列特征融合(SSFF)模块来增强网络的多尺度信息提取能力,并利用三重特征编码器(TFE)模块融合不同尺度的特征图以增加细节信息。此外&#xff…

尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】

视频地址:一套上手ClickHouse-OLAP分析引擎,囊括Prometheus与Grafana_哔哩哔哩_bilibili 01_尚硅谷大数据技术之ClickHouse入门V1.0 尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】尚硅谷大数据技术ClickHouse教程-笔记02【表引…

前端基础操作1——利用nvm任意切换(管理)node版本

在实际前端项目开发过程中,同时开发多个项目或者切换新项目时,因为node版本问题造成项目无法运行的问题比比皆是,这时候通过nvm管理切换不同版本的node,就能很快进入开发模式,避免因为环境问题浪费大量精力&#xff0c…

太爱这种数据可视化效果,零售行业的都看过来

在当今数字化浪潮下,数据可视化已成为零售行业洞察市场趋势、优化运营决策的关键技术。奥威BI零售数据分析方案凭借其卓越的数据可视化效果,成为零售企业的得力助手。接下来就通过BI节假日分析报表来简单地感受一下。 注:该BI节假日分析报表…

ArcGIS消除碎图斑

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 这次是上次 我们经常在相交、标识、更新等操作后或者是栅格转矢量可能存在很多的细碎图斑&#…

反激开关电源输出整流二极管选型及计算

1、电压 输出整流二极管电压应力:VoutVin/n尖峰电压余量5373/14.22010(选60V左右的二极管) 通常为了降低电压尖峰,需要在二极管上加RC吸收,来降低尖峰 2、电流 整流二极管的电流也是需要根据变压器输出绕组的峰值电流来…

深度学习500问——Chapter12:网络搭建及训练(3)

文章目录 12.3.5 Caffe有哪些接口 12.4 网络搭建有什么原则 12.4.1 新手原则 12.4.2 深度优先原则 12.4.3 卷积核size一般为奇数 12.4.4 卷积核不是越大越好 12.5 有哪些经典的网络模型值得我们去学习的 12.6 网络训练有哪些技巧 12.6.1 合适的数据集 12.6.2 合适的预…

console.log日志展示

console.log日志展示 1.特定颜色打印 console.log("%caaa","color:#1e80ff") 解释:重点就是%c和color。

IDEA2023中使用run Dashboard面板?实现批量运行微服务

1、直接点击Add service--->Run Configuration Type---->Spring Boot 2、这样就出现了run Dashboard面板,可同时运行多个工程模块,shift选中所有启动类组命名(Group Configurations) 3、启动所有的项目

linux分区

挂载只改变数据存储的分区位置,不改变文件系统的目录结构,无论怎么挂载linux系统的分区仍然是/根分区和其子目录/opt、/etc、/home等等 临时挂载 添加新磁盘模拟新设备接入,无论使用什么虚拟机都可以 重启电脑reboot,执行lsblk&a…

RestTemple请求GET接口403

问题描述 使用oss接口获取资源的时候,通过浏览器可以直接下载,在代码中使用RestTemplate的get方式访问的时候,出现403错误 问题排查 因为返回状态码是403,就想着是不是授权问题,因为有的接口是有防抓取规则的&…

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 02 Clos拓扑

本章回答以下问题: 什么是 Clos 拓扑,它与“接入 - 汇聚 - 核心”拓扑有何不同?Clos 拓扑的特征是什么?Clos 拓扑对数据中心网络的影响是什么? Clos拓扑 云原生数据中心基础设施的先行者们想要构建一种支持大规模水平扩展网络。 基本的Clos拓扑如图…