天天看点

如何对性能测试,进行并发数的分析

一、问题:

如果我们要做性能测试,需要考虑并发量这个问题,并发是性能测试中很重要的一项,如果没有并发,就无法进行测试

那么,如何分析这个并发量,才能满足实际的要求呢?或者说,怎么找出系统并发的准确数量呢?

二、实例:

如果我们有以下系统,需要进行性能测试

2.1 实例1、

如果某系统商城,每天都会有100万人访问,产品中心,那么这就有100万个PV量。但是实际业务上,有3000人点击商品,那么并发量就是3000,

计算:先统计某项目一天的PV量,如果PV是100万,实际用户活跃为8小时,用公式PV/小时/分/秒。计算出【100万/8小时/60分/60秒 = 34】就是平均并发量,如果要求更准确,可以取某个月所有天数的并发求平均进行分析,这个求出的是平均并发数。

如果求出平均并发是34,但是某个时间会有一个并发峰值为1000

2.2 实例2

某上班打卡系统,8点到9点是高峰期,时间为1小时。公司有2000人,可能有100人同时打卡

2.3 实例3

抢红包功能,某宝年终活动,100000000个用户同时抢红包,时间为2分钟

计算并发数为【100000000人/2分/60秒/1000毫秒=834】单位是毫秒

三、分析:

1、并发数,我们可以通过平均并发和最大并发两个方向进行计算分析

2、并发区分出口和入口(比如系统的登入和登出),入口需考虑峰值即最大并发数,出口不需要考虑峰值

3、测试的模拟并发数,一般要高于实际并发数进行测试

4、并发的单位一般用秒或者毫秒,如果系统并发时间比较长,像打卡,就可以采用秒作为单位,如果并发时间段比较短,像抢红包,就可以采用毫秒作为单位

5、事实上,一万级别并发数的的性能测试,并发量就很大了,我们不可能一次性设定为模拟一万的用户级别进行测试,这样服务器等各个方面不一定等承受如此大的并发

6、我们要实际业务和平台PV统计,计算出平均并发数和最大并发数。然后划分阶段进行测试,比如将用户级别设定为500,1000,3000,8000,10000这样的并发,逐步增加并发量

7、关于性能测试系统,如果有条件,一般单独隔离出一个和生产一样的物理环境进行测试,并且确保测试时不受网络问题限制,需要使用局域网的发起机与服务器