网站性能测试时负载并发数怎么计算?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网站性能测试时负载并发数怎么计算?相关的知识,希望对你有一定的参考价值。

在给网站进行性能测试时,如何确定给网站压力的并发数是否合适?即给不同的网站进行性能测试时,该使用多少并发数?例如一个要求支持5000-10000用户访问的购物网站,其并发数应该为多少才合理?谢谢!

这个其实没有固定的算法,必须根据压测的目标特点进行估算。
以你的例子来说明:
要求支持5000-10000用户访问的购物网站,是在同一时间访问?还是一天的访问量呢?如果是一天的访问量,那么我们需要知道哪几个时间段访问人数最多。例如有10小时访问密集区,我们可以估算每小时1000用户,峰值*2或者3,也就是每小时3000,那么合计一秒钟只要3000/3600 还不足1个并发。
如果是并发,那么就要测5000到10000了。

实际上你这是用客户视角来思考问题的,建议你采用服务器视角。
也就是说,你只管加压,看看服务器到多少并发达到峰值,用这种方法来指导网站程序和部署的优化,这才是最科学的。来自:求助得到的回答
参考技术A 并发用户数量的统计方法目前还没有准确的公式
一般的并发用户数量的经验公式为:
使用系统的用户数量×(5%~20%)。
对于这个公式,没有必要拘泥于计算出的结果,因为为了保证系统的扩展空间,测试时的并发用户数量都会稍稍大一些,除非要测试系统能承受的最大并发用户数量。
举例说明:你的系统支持10000个用户访问,
在基本压测情况下,你在设置最大并发用户数量时最多10000*0.2=2000就可以了。
参考技术B 并发用户数的计算公式
系统用户数:系统额定的用户数量,如一个OA系统,可能使用该系统的用户总数是2000个,那么这个数量,就是系统用户数

同时在线用户数:在一定的时间范围内,最大的同时在线用户数量
平均并发用户数的计算:
C=nL / T
其中C是平均的并发用户数,n是平均每天访问用户数,L是一天内用户从登录到退出的平均时间(操作平均时间),T是考察时间长度(一天内多长时间有用户使用系统)
并发用户数峰值计算:
C^约等于C + 3*根号C
其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论
参考技术C 你可以去g搜索引擎查查

Jmeter之性能测试指标介绍

参考技术A 常用的网站性能测试指标有:TPS、吞吐量、并发数、响应时间、性能计数器等。

系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间。

性能计数器是描述服务器或操作系统性能的一些数据指标,如使用内存数、进程时间,在性能测试中发挥着“监控和分析”的作用,尤其是在分析统统可扩展性、进行性能瓶颈定位时有着非常关键的作用。

Linux中可以使用 top 或者 uptime 命令看到当前系统的负载及资源利用率情况。

资源利用率:指系统各种资源的使用情况,如cpu占用率为68%,内存占用率为55%,一般使用“资源实际使用/总的资源可用量”形成资源利用率。

所以,一个网站优化的目的是,最大限度的利用好服务器硬件资源提升资源利用率,减少用户请求的响应时间,提高系统吞吐量,提高系统并发数。

吞吐量: 一段时间内应用系统处理用户的请求数(以下介绍指单位时间内,也可以理解为吞吐率),这个定义考察点一般是系统本身因素;当然也可以用单位时间内流经被测系统的数据流量,一般单位为b/s,即每秒钟流经的字节数,这个定义的考察点既有系统本身因素也有网络,外设等因素,也可以理解为除客户端以外的测试环境及被测系统。

并发用户数: 指同一时间点对业务功能同时操作的用户数,可以分为两种: 一种 是严格意义上的并发,即所有的用户在同一时刻做同一件事或操作,这时业务功能一般指同一类型的业务; 另外一种 并发是广义范围的并发,这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或都操作可以是相同的,也可以是不同的,这时业务功能可能不是同一类型的业务。

并发数 >= 吞吐量

一般来说,在系统的设计范围之内,吞吐量随系统的并发用户数的增加呈现增加趋势,也就是说你客户端来多少请求数系统吃(处理)多少请求数;当超出这个范围时有两种情况,一种是系统只能处理这么多,超过这个数系统不接收了,最后随着并发用户数的增多吞吐量是一个水平的直线;

还有一种情况是不管来多少系统都接收最后导致系统吞吐量下降甚至系统崩溃。并发用户数是客户端单位时间内对服务器端施加的压力,具体能不能接受并处理要看被测系统的吞吐量,而吞吐量是被测系统单位时间内处理的请求数或者说单位时间内处理的字节数;一个着重于客户端的操作即测试手段,一个着重于应用系统的处理能力即查看对象;(上面的讨论没有考虑两者的单位,如一个用户同时有多个请求情况)

两者的计算公式如下:

其中C是平均的并发用户数,n是平均每天访问用户数,L是一天内用户从登录到退出的平均时间(操作平均时间),T是考察时间长度(一天内多长时间有用户使用系统)

其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论。(该公式针对一般被测系统,特殊不做讨论)

吞吐量计算:当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用以下公式计算:

其中F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间,其实通过这个公式就能看出吞吐量与并发用户数之间的关系了(这里的VU就是我们用工具模拟的并发用户数)。

参考:

https://www.cnblogs.com/cynchanpin/p/7365859.html

https://www.sohu.com/a/256477206_100224606

https://www.cnblogs.com/111testing/p/11402799.html

以上是关于网站性能测试时负载并发数怎么计算?的主要内容,如果未能解决你的问题,请参考以下文章

如何测试网站最大并发数

网站的最大并发数是如何估算的

性能测试逐渐增加并发数会报错吗

性能测试指标:TPS,吞吐量,并发数,响应时间

Jmeter之性能测试指标介绍

性能测试的主要指标