由PV数,估算TPS和并发用户数

“假设一个系统的业务有登录、浏览帖子、发送新贴、回复帖子,访问高峰是上午10点,日访问高峰PV约5208(含登录1300、浏览2706、发帖526、回帖676)。系统响应时间要求小于3s,试计算此系统的tps以及并发数”

每秒的PV量并不直接等同于TPS,因为一次客户请求可能包含了很多资源请求。如果我们不关心页面刷新时请求资源的耗时,此时我们就把每秒PV等同于TPS;

估算TPS

TPS=5208/3600=1.5吗?;业务量一般要取系统业务高峰的值,才能代表系统的实际处理能力;

可以按照二八原则。即80%的业务在20%的时间内完成,TPS=(5208*80%)/(3600*20%)=5.8

估算并发数(由tps进行估算,由在线活动用户数估算,根据经验估算)

这里我们采用第一种方法

TPS=事务数/时间,假设所有的事务都来自不同的用户,那么并发数=事务数=tps*时间。

vu=tps*(runtime+thinktime);vu表示此业务的虚拟用户数,即并发数;runtime是测试程序/脚本运行一次所消耗的时间,包含事务时间+非事务时间。thinktime是模拟用户思考或者填写表单消耗的时间;

 

 一般吧think time设为3秒。可得vu=tps*时间=76;

由于我们计算vu时,使用的是系统tps(登录、浏览、发帖、回帖合计),其中又以发帖业务消耗时间最长,所以计算出来的76个并发数实际上是系统业务的总并发数,需要按比例分配到各个业务。

 

 实际上分配时由于有小数点,向上取整,所以76个并发用户分配后是77个。

并发数的计算说到底还是一个估算,在性能测试执行时需要根据实际情况调整。衡量性能的指标还要参考tps实际达到了多少,响应时间是多少,系统硬件(cpu、内存等)指标是否限定范围内等要求;

 

 

参考:https://www.jianshu.com/p/6fda69a45bf2

 

posted on 2020-04-17 11:21  星空6  阅读(1275)  评论(0编辑  收藏  举报

导航