常听到一句话。
xx并发下,系统的TPS是多少?
为什么系统的TPS要加上XX并发的条件下呢?
https://blog.csdn.net/xingchao416/article/details/53188729/
c=nL/T
C:并发
n:压测时间段内所有的请求数
L:平均响应时间
T:压测总时长(最大的那个返回的时间长度)
比如说2s内一共100个请求,最大的操作时长3秒后才返回,平均2s返回。
并发数就是100*2/3 = 70左右
吞吐量如何计算?
我们在压测工具制作中,一直存在一个争议——吞吐量的计算。
在性能测试中,吞吐量的计算有两种常见的公式:
公式1、2大家应该都接触过,虽然看上去不一样,其实理论上都是ok的。首先我们可以从C = nL / T 推导:
并发=请求总数*平均响应时间 / 总时长
=》并发 / 平均响应时间 = 请求总数 / 总时长
=》公式1 = 公式2
结论
1、 在单接口压测时,我们用“请求总数/总时长”得到吞吐量;然后再用“吞吐量*平均响应时间”得到实际并发,此举可用来观察系统实际承受的并发;
2、 在多接口压测时,由于短板效应,同一个流程中的所有接口获得的请求总数和总时长都一样,显然“请求总数/总时长”计算各个子接口的吞吐量不合适,所以改用“并发/平均响应时间”,其中的并发数应在压测工具中埋点统计,不可简单使用工具线程数。