性能测试中“并发度”的意义

简介:

之前的文章中曾出现过“并发度”这个概念,这个词不知道是不是我原创,它意在表达“并发”的可能性,是压力的一种度量。一些同学可能还没有理解这个概念的意义,下面我们看看它是怎么来……

  看过之前文章的同学应该知道,我将“并发”这个容易产生误解的词拆分成了“相对并发”和“绝对并发”。为什么这么做呢?那是因为“绝对并发”说的是同一时刻发生的事情,这通常是我们无法观测和衡量的。而“相对并发”说的是一个时间段内发生的事情,这是很容易观测到的。从某种程度上,也可以说“相对并发”是为了弥补我们无法有效评估“绝对并发”的压力而出现的。

  但是有时候,性能测试工程师仍然需要回答“系统可以处理多少个并发请求”这类的问题,或者是需要测试一些绝对并发的极限场景。这类问题和测试场景是有意义的,但是在没有“绝对并发”相关数据的情况下,我们如何处理?显然胡乱拍板是不可以的,那么我们只有根据一些可观测的数据进行合理的推测和估算,“并发度”就是这样产生的。

  假设我们已经分析得出,系统的使用压力集中在2个小时内,在这个时间段内共有100个用户访问(活跃用户),且压力是平均分布的(否则就可以说压力集中在更小的时间段内了),平均每个用户使用系统的时间是30分钟(活跃时间),那么我们可以画出下面一张图来表示服务端所承受的压力。

  这是一张从服务端视角来看的交互图。横轴是时间,纵轴是访问用户,每一条横线表示一个用户与系统的交互过程,不同的用户用不同颜色做了标识。在这张图中,什么是并发度呢?我们选取时间轴上的一个点,延纵轴方向做一条平行线,这条线穿过的横线的数量,就是并发度。

  并发度表示,在一个时间点上,可能与服务端进行交互的用户的数量。为什么说是“可能”呢?因为图中的每一条横线代表的是用户与系统的交互过程,也可以说是用户的活跃区间,在这个区间段内,用户只是处于一种活跃状态,而并不是说一直保持着与服务端的交互,这也是图中的横线用的是虚线的原因。所以,并发度表达的,是系统在一定的访问分布下,可能承受的最大并发压力,它是一种可能性。

  这样这个概念应该比较容易理解了,我们再来看看并发度的值是如何得出的。继续之前的分析结果“系统的使用压力集中在2个小时内,在这个时间段内共有100个用户访问,且压力是平均分布的,平均每个用户使用系统的时间是30分钟”,依然利用刚刚做的那条线,记对应的时间轴刻度为B,我们需要知道的是,有多少条代表交互过程的横线与之相交。

  很明显,开始时间点在B之前,结束时间点在B之后的横线,它的起点必须落在从B向前一个用户活跃时长的区间内,即下图的AB区域内。

  接下来只需简单的算术就可以了,100个用户访问平均分布在2小时内,AB时长为平均用户活跃时间,即30分钟,那么在AB区域内有100*30min/2h=25个用户访问。这25个用户在B时刻都可能会与系统发生交互,对系统照成压力,虽然只是一种理论上的可能性。

  这就是并发度,理解它的意义了么?








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
7月前
|
XML 前端开发 测试技术
使用 jMeter 对 SAP Spartacus 进行并发性能测试
使用 jMeter 对 SAP Spartacus 进行并发性能测试
73 0
|
3月前
|
监控 供应链 测试技术
PTS压测问题之自动变成500 并发如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
277 2
|
3月前
|
消息中间件 监控 关系型数据库
PTS压测问题之多账号并发登录配置如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
238 2
|
6月前
|
消息中间件 缓存 NoSQL
【红包雨压测】提供2万用户30秒内5次请求的并发服务支持
【红包雨压测】提供2万用户30秒内5次请求的并发服务支持
123 0
|
6月前
|
弹性计算 负载均衡 测试技术
关于10万并发压测时弹性扩容失效问题回答
关于10万并发压测时弹性扩容失效问题回答
|
7月前
|
测试技术 数据库
接口并发性能测试开发之:从测试方案设计、测试策略、指标分析到代码编写,这一篇全搞定。
接口并发性能测试开发之:从测试方案设计、测试策略、指标分析到代码编写,这一篇全搞定。
149 0
|
10月前
|
测试技术
性能测试(21)——常用平均并发数计算公式
PV:(Page View):即页面访问量,每打开一次页面PV计数+1,刷新页面也是。PV只统计页面访问次数。 UV(Unique Visitor):唯一访问用户数,用来衡量真实访问网站的用户数量。 一般用UV统计用户活跃数,用PV统计用户访问页面的频率
399 0
性能测试(21)——常用平均并发数计算公式
|
10月前
|
测试技术 数据库 云计算
性能测试中如何确定并发用户数
性能测试中如何确定并发用户数 近日,Hitest在其技术博客上发表了一篇题为 《并发用户数与TPS之间的关系》的文章,文章对TPS和并发用户数做了详细的解释,并针对性能测试中系统性能的衡量维度和测试策略给出了自己的建议。Hitest是阿里巴巴技术质量部提供的一款Web&移动应用安全测试SaaS化服务平台,旨在帮助开发者简单快捷地进行安全测试。
|
关系型数据库 MySQL 测试技术
【性能测试】三、TPS 和并发数是什么关系?
【性能测试】三、TPS 和并发数是什么关系?
【性能测试】三、TPS 和并发数是什么关系?
|
监控 Shell 测试技术
大话JMeter4|不同的并发数可以自动化做压测吗?
![](https://ceshiren.com/uploads/default/original/3X/2/a/2a554254fc8bc1b0940a66a733efe448359a0ec3.jpeg) 上节课爱画漫画的小哥哥用漫画形式向大家展示了JMeter的进阶用法:如何搭建InfluxDB,使用更炫酷的Grafana。 看到很多小伙伴觉得看的不过瘾,在强烈的催促下,小哥哥的新文章又出