✅单机压测到300QPS,10台就能抗住3000QPS吗?

✅单机压测到300QPS,10台就能抗住3000QPS吗?

典型回答

显然不能,这种想法太理想了。单纯通过机器数量线性推算QPS是不成立的!


因为你的QPS,除了应用本身的影响之外,还瘦太多因素的影响了,包括网络层的负载均衡、服务调用这一层的网络延迟、负载均衡,消息这一层的消息堆积情况,数据存储这一层的线程池情况,CPU,内存等硬件情况都会对整体的QPS造成影响。

最简单的例子,单机压测的时候,压测到300,加到10台机器,如果负载均衡算法并不均衡呢?如果给某个单机的QPS分到了500呢?是不是就扛不住了。

就算分的比较均匀,每台机器都不超过300,那问题是单机压测时候数据库也抗到300,而10台机器的时候,数据库可要抗3000啊,3000你可没压测过啊。数据库如果扛不住了,系统整体不就也扛不住了么。

不只是数据库,还有很多中间件 ,Redis、MySQL、MQ、XXL-JOB等等,甚至一些外部服务,短信服务,支付服务,网关服务等等,都会有影响的。