性能测试之并发用户与TPS关系

文章解释了在性能测试中,系统性能通常由TPS(每秒事务数)而非并发用户数来衡量。并发用户数与TPS之间的关系取决于响应时间,同一TPS可由不同数量的用户生成,取决于脚本的响应速度。同时,建议在测试时不过度使用思考时间,以真实压力测试服务器。对于系统性能,最大TPS是固定的,但并发用户数可调整。
摘要由CSDN通过智能技术生成

在做性能测试的时候,很多人都用并发用户数来衡量系统的性能,觉得系统能支撑的并发用户数越多,系统的性能就越好;对TPS不是非常理解,也根本不知道它们之间的关系,因此非常有必要进行解释。

  ·并发用户数:简称VU,指的是现实系统中操作业务的用户,在性能测试工具中,一般称为虚拟用户数(Virutal User),注意并发用户数跟注册用户数、在线用户数有很大差别的,并发用户数一定会对服务器产生压力的,而在线用户数只是”挂”在系统上,对服务器不产生压力,注册用户数一般指的是数据库中存在的用户数。

  ·处理能力:简称TPS,每秒事务数是衡量系统性能的一个非常重要的指标。

  ·响应时间:简称RT,指的是业务从客户端发起到客户端接受的时间。

  简单例子:在术语中解释了TPS是每秒事务数,但是事务数要靠虚拟用户做出来的,假如1个虚拟用户在1秒内完成1笔事务,那么TPS明显就是1;如果某笔业务响应时间是1ms,那么1个用户在1秒内成1000笔事务,TPS就是1000了;如过某笔业务响应时间是1s,那么1个用户在1秒内只能完成1笔事务,要想达到1000TPS,至少需要1000个用户;因此可以说1个用户可以产生1000TPS,1000个用户也可以产生1000TPS,无非是看响应时间快慢。

   复杂公式:试想一下复杂场景,多个脚本,每个脚本里面定义了多个事务(例如一个脚本里面有100个请求,我们把这100个连续请求叫做Action.只有第10个请求,第20个请求分别定义了事务10和事务20)具体公式如下:

符号代表意义:

  Vui表示的是第i个脚本使用的并发用户数

  Rtj表示的是第i个脚本第j个事务花费的时间,此时间会影响整个Action时间

  Rti表示的是第i个脚本一次完成所有操作的时间,即Action时间

  n表示的是第n个脚本

  m表示的是每个脚本中m个事务

 那么第j个事务的TPS=Vui/Rti

 总的TPS=

并发用户数(Vu)获取

新系统:没有历史数据作参考,只能通过业务部门进行评估。

旧系统:对于已经上线的系统,可以选取高峰时刻,在一定时间内使用系统的人数,这些人数认为属于在线用户数,并发用户数取10%就可以了,例如在半个小时内,使用系统的用户数为10000,那么取10%作为并发用户数基本就够了。

TPS获取

新系统:没有历史数据作参考,只能通过业务部门进行评估。

旧系统:对于已经上线的系统,可以选取高峰时刻,在5分钟或10分钟内,获取系统每笔交易的业务量和总业务量,按照单位时间内完成的笔数计算出TPS,即业务笔数/单位时间(5*60或10*60)。

  针对服务器端的性能,以TPS为主来衡量系统的性能,并发用户数为辅来衡量系统的性能,如果必须要用并发用户数来衡量的话,需要一个前提,那就是交易在多长时间内完成,因为在系统负载不高的情况下,将思考时间(思考时间的值等于交易响应时间)加到脚本中,并发用户数基本可以增加一倍,因此用并发用户数来衡量系统的性能没太大的意义。

总结:

  ·系统的性能由TPS决定,跟并发用户数没有多大关系。在同样的TPS下,可以由不同的用户数去压(通过加思考时间设置)。

  ·系统的最大TPS是一定的(在一个范围内),但并发用户数不一定,可以调整。

  ·建议性能测试的时候,不要设置过长的思考时间,以最坏的情况下对服务器施压。

  ·一般情况下,大型系统(业务量大、机器多)做压力测试,5000个用户并发就够了,中小型系统做压力测试,1000个用户并发就足够。

更多内容请关注公众号“测试小号等闲之辈”~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值