在网上看到一篇文章,tps 与 事务平均响应时间关系对答。可以帮助能更清楚的了解二者之间的关系。
问者:每秒处理的事务数和事务的平均响应时间 怎么个关系,有关系吗
kaku21:举个例子:一个高速路 有10个入口,每个入口每秒钟只能进1辆车,请问1秒钟最多能进几辆车??
问者:10
kaku21:每辆车需要多长时间响应??
问者:针对这个问题的话 那tps就是10 ,事务的响应时间是1
kaku21:好,那现在我有20辆车,那每秒能进几辆??每辆响应时间是多少??
问者:。。。思考中
kaku21:每秒还是进10辆车呗,每辆车还是1秒响应啊
问者:对呀
kaku21:继续,现在我把入口扩展到20个,那我问你,每秒最多进多少辆车??每辆车响应多长时间??
问者:20 1
kaku21:好,现在tps变了,响应时间没变,那我问你 tps跟响应时间有啥关系??
问者:没关系
kaku21: tps和响应时间在理想状态下都是额定值,你把入口看做线程池。如果20个入口,并发数只有10的时候,tps就是10,而响应时间始终都是1,说明并发不够,需要增加并发数达到tps的峰值。
问者:同样是20个入口,并发数是100的话,tps是20,响应时间还是1?
什么情况下响应时间会大于1秒
kaku21:我问你,当并发数量是100的时候,会出现什么情况??
问者:堵车啦。。。哦,堵车了 平均每个车过去的时间就长了?
kaku21:堵车说白了就是有车在等待,现在把100按20分成5份,第5份等待的时间是最长的,从等待开始到这个车进去,实际花费了多长时间??
问者:5秒吧
kaku21:那么100两车的平均响应时间是多少??
问者:5除以100?0.05?
kaku21:错,用简单的数学逻辑算 (5+4+3+2+1)/5=3 这就是平均响应时间
明白没??接着问你,100两车的平均tps是多少??
问者:20?
kaku21:错(20/1+20/2+20/3+20/4+20/5)/5 约等于 8.8999
问者:前面tps还是20呢 ,并发大了 怎么tps小了.20是tps的峰值?
kaku21:响应时间和TPS在宏观上是反比的关系,但是两者之间没有直接关系
kaku21:20是一次并发的数量,100的并发则造成了线程的等待,引起平均响应时间从1秒变成3秒,当然TPS也从20下降到9;TPS和响应时间都是单独计算出来的,两者不是互相计算出来的。