测试必备技能:如何才能正确解读并发数?

  • Published2025-07-02 08:03:50

有人用的是最新款的MacBook Pro;

有人用的是小霸王学习机。

不同的客户端环境,运行速度是有很大差别的,所以即便有10w人同时在8点开始点击抢购,等待客户端向服务端发起抢购请求时,同一时刻发出的请求已经不足10w了,可能只剩下9w了。

大家都知道不能让自己的孩子输在起跑线上,但是在这个阶段,有一批拥有更好设备的用户请求已经发送出去了,另外一批低端设备用户在起跑线上已经输了。然而残酷的竞争才刚刚开始,客户端把请求发送出去后,需要通过漫长的网络传输到位于北京机房的服务器上。

这个时候更大的差异出现了。参加抢购的用户分布的全国各地,网络制式也各有不同,5G/4G、联通/电信宽带,50M/100M的带宽,比起客户端设备之间几毫秒的差距,不同环境下网络的延迟差距可能有几十毫秒。

1、在黑龙江漠河的小镇上,铁柱正盘着腿坐在炕上,焦急的等待着手机上显示的排队结果;

2、在祖国最南的西沙群岛,渔民阿祖在自己的渔船上看着手机上页面一直在转圈圈,而此时手机信号只有2格;

3、同样的,在北京北五环外的回龙观,在不到十平米自如次卧里,小王看到了电脑屏幕上出现了支付成功页面,此时的他满眼都是欣喜,这一刻,他感觉自己是天选之子。

一场抢购盛宴落下帷幕了,在这个过程中有很多细节值得我们思索。在服务端来看,因为客户端设备的差异和网络的延迟,10w个并发请求,并不是同时到达服务端的,而且会在一段时间内陆续到达。

假设在100ms内全部到达,并且认为同一毫秒到达服务器的请求属于同一时刻,那么服务端同一时刻处理的并发请求,也就1000个左右。

从上面的例子里大家也都看出来了,用户端并发和服务端并发是有着巨大的差异的,用户端并发>服务端并发。具体多少倍的差异无法计算,因为用户端的环境是无法预估的。但是可以肯定的是,这个差距肯定是巨大的。

从另外一个角度来看,在上述的例子中,假如网络延迟为0,那么用户端有多少并发同时请求,在服务端同时接受到的几乎就是多少并发。在这种情况下,用户端并发=服务端并发

所以日常在做性能测试过程中,为了降低网络延迟,客户端压力机和项目服务器都在同一个局域网中,一般都在同一个机房,这样网络的延迟是<1ms的。几乎可以认为是没有延迟的,在客户端压测工具上设置了50并发,那么在服务端也是50并发。

如果上面讲的你都可以理解,那么文章开头那两个问题就有答案了。压测时系统支持50并发,是指服务端支持50并发,并不是只支持50个用户同时去访问。而是远远大于50个用户。

这也从另一个方面说明了一个问题,并发数是一个重要的指标,但是在性能测试中,不需要过分关注并发数的多少,而更应该关注处理的业务量(即TPS),只要系统的TPS足够高,处理业务的时间足够短,哪怕同一时刻来再多的并发请求(只要不超过软硬件限制),我服务器也能给你安排的明明白白的。

学习安排上!

码个资料送给你

▲《50页性能分析案例总结》▲

扫描下方二维码免费领取

上文内容不用于商业目的,如涉及知识产权问题,请权利人后台留言联系码同学小编,我们将立即处理。

“在看”点一点

👇👇👇返回搜狐,查看更多