博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TPS及计算方法
阅读量:7010 次
发布时间:2019-06-28

本文共 1547 字,大约阅读时间需要 5 分钟。

  hot3.png

TPS (transaction per second)代表每秒执行的事务数量,可基于测试周期内完成的事务数量计算得出。例如,用户每分钟执行6个事务,TPS为6 / 60s = 0.10 TPS。同时我们会知道事务的响应时间(或节拍),以此例,60秒完成6个事务也同时代表每个事务的响应时间或节拍为10秒。

 

利特尔法则  (Little’s law):

该法则由麻省理工大学斯隆商学院(MIT Sloan School of Management)的教授John Little﹐于1961年所提出与证明。它是一个有关提前期与在制品关系的简单数学公式,这一法则为精益生产的改善方向指明了道路。

 

利特尔法则的公式描述为:Lead Time(产出时间)= 存货数量×生产节拍     或     TH(生产效率)= WIP(存货数量)/ CT(周期时间)

P.S: 稍后我们会列出负载模型中利特尔法则的应用公式。

 

我们通过2个示例来看一下此法则是如何在生产环境中发生作用的。

 

例1:假定我们所开发的并发服务器,并发的访问速率是:1000客户/分钟,每个客户在该服务器上将花费平均0.5分钟,根据little's law规则,在任何时刻,服务器将承担1000×0.5=500个客户量的业务处理。假定过了一段时间,由于客户群的增大,并发的访问速率提升为2000客户/分钟。在这样的情况下,我们该如何改进我们系统的性能? 根据little's law规则,有两种方案:

 

第一:提高服务器并发处理的业务量,即提高到2000×0.5=1000。 或者

第二:减少服务器平均处理客户请求的时间,即减少到:2000×0.25=500。

 

例2:假设你排队参观某个风景点,该风景点固定的容纳人数是:60人。每个人在该风景点停留的平均时间是:3分钟。假设在你的前面还排有20个人,问:你估计你大概等多少时间才能进入该风景点。

答案:1小时(3×20=60),和该景点固定的容纳人数无关。

 

为了通过利特尔法则研究负载模型,我们就先要了解两个因子:响应时间(Response time)和节拍(Pacing)。实际上节拍会超越响应时间对TPS的影响。

 

示例1:节拍0秒,思考时间0秒

用户执行5个事务并且每个事务的响应时间是10秒,需要花费50秒完成5个事务,即5/50=0.1 TPS (这里TPS是由响应时间控制)。

 

示例2:速率15秒,思考时间0秒

用户执行5个事务且每个事务的响应时间是10秒,但实际由于节拍大于响应时间,所以它优于响应时间控制了事务发生的频率。完成5个事务需要5*15 = 75秒,产生5/75=0.06667 TPS。

 

在第二个示例中,平均响应时间小于节拍15秒,需要75秒完成5个迭代,产生了0.06667 TPS。

 

上面两个例子中我们假设思考时间为0秒。如果思考时间为2秒,总时间仍是75秒完成5个迭代,产生0.06667 TPS。

 

节拍为0秒,则     用户数 = TPS * ( 响应时间 + 思考时间 )

节拍不为0秒且大于响应时间与思考时间的和,则     用户数 = TPS * (速率)

 

事实上TPS是事务在w.r.t时间的速率,所以也被称为吞吐量(throughput)。

所以利特尔法则在负载模型中解释为:系统内平均用户数 = 平均响应时间 * 吞吐量

N = ( R + Z ) * X

N, 用户数

R, 平均响应时间(也可能是速率)

Z, 思考时间

X, 吞吐量(如TPS)

 

如:N (用户数)=1500, R (平均响应时间)=10, Z (思考时间)=0,则X (吞吐量)=1500/10=150 TPS

转载于:https://my.oschina.net/j4love/blog/1549779

你可能感兴趣的文章
DW dark code theme
查看>>
OpenSessionInViewFilter作用及配置
查看>>
Camel概念【Architecture ①】
查看>>
用Spark求最大值
查看>>
常用流控方法
查看>>
暴力恶意软件将目标指向电子邮件与FTP服务器
查看>>
PHP中动态加载方法
查看>>
PHP中的cookie 基础和应用
查看>>
第十七讲:tapestry组件详解之ProgressiveDisplay
查看>>
重定向 > 和>>
查看>>
(改造)mybatis+spring与redis整合的优雅实现
查看>>
C Primer Plus 第8章 字符输入/输出和输入确认 8.7 菜单浏览
查看>>
关于毕业生招聘的思考
查看>>
用n多的框架写同一个demo
查看>>
java一题
查看>>
Qt 介绍
查看>>
设计模式六大原则(3):依赖倒置原则
查看>>
让技术人员看得懂的流程(4)——设计模型
查看>>
windows server 2008的安装
查看>>
创业的路上 最难的是不放弃
查看>>