小白:《每秒处理的事务数》 和 《事务的平均响应时间》之间有什么关系?

大神:举个例子:一个高速路 有10个入口,每个入口每秒钟只能进1辆车,请问1秒钟最多能进几辆车?? 

小白:10 
大神:每辆车需要多长时间响应??
小白:针对这个问题的话 那tps就是10 ,事务的响应时间是1 
大神:好,那现在我有20辆车,那每秒能进几辆??每辆响应时间是多少?? 
小白:。。。思考中  
大神:每秒还是进10辆车呗,每辆车还是1秒响应啊
小白:对呀 
大神:继续,现在我把入口扩展到20个,那我问你,每秒最多进多少辆车??每辆车响应多长时间??

小白:20  1 

大神:好,现在tps变了,响应时间没变,那我问你 tps跟响应时间有啥关系??

小白:没关系 

大神: tps和响应时间在理想状态下都是额定值,你把入口看做线程池。如果20个入口,并发数只有10的时候,tps就是10,而响应时间始终都是1,说明并发不够,需要增加并发数达到tps的峰值。 

小白:同样是20个入口,并发数是100的话,tps是20,响应时间还是1? 什么情况下响应时间会大于1秒

大神:我问你,当并发数量是100的时候,会出现什么情况?? 

小白:堵车啦。。。哦,堵车了 平均每个车过去的时间就长了?

大神:堵车说白了就是有车在等待,现在把100按20分成5份,第5份等待的时间是最长的,从等待开始到这个车进去,实际花费了多长时间?? 

小白:5秒吧 

大神:那么100两车的平均响应时间是多少?? 

小白:5除以100?0.05? 

大神:错,用简单的数学逻辑算 (5+4+3+2+1)/5=3 这就是平均响应时间 ,明白没??接着问你,100两车的平均tps是多少?? 

小白:20? 

大神:错(20/1+20/2+20/3+20/4+20/5)/5 约等于 8.8999

小白:前面tps还是20呢 ,并发大了 怎么tps小了.20是tps的峰值? 

大神:响应时间和TPS在宏观上是反比的关系,但是两者之间没有直接关系 

大神:20是一次并发的数量,100的并发则造成了线程的等待,引起平均响应时间从1秒变成3秒,当然TPS也从20下降到9;TPS和响应时间都是单独计算出来的,两者不是互相计算出来的。

 

posted on 2017-02-16 12:07  白灰  阅读(4467)  评论(1编辑  收藏  举报