在考虑压力工具中的用户数(有些工具中称为线程数,本文后续都用“用户数”来说明)、响应时间、TPS三者之间的关系时,想到之前也有人问起过这样的问题,就是他们三者之间的共生的关系到底是什么样呢。
这个公式我想谁都能知道了:
TPS = ( 1 / RT ) * user (其中,RT单位是秒,user是用户数)
先来画一下最简单的图(假设前提:每个user的事务定义都是一致的。):
当有五个用户时,响应时间都稳定保持在0.2s,那这个场景的TPS显然是:
TPS = (1/0.2)*5 = 25
这个看似简单的公式,在实际的场景中却是会出现千奇百怪的结果。因为大部分的场景都不会如此规整,例如:
这种情况下怎么计算TPS呢:
TPS = 2 + 4 + 6 + 4 + 1 = 17
显然响应时间也是变化较大的,可能每个用户的每个事务的响应时间都是不一样的。
在真实的场景中,这样的情况是必然会出现的ÿ