带宽、并发数计算

带宽与我们每秒最多发送的数据包的关系
先说推出的结果并发数 = 带宽(Mb)*67.2/数包大小(KB)//注意这里的带宽 Mb ,发送出的数据大小单位是KB
下面为推到过程:
首先要分清一下单位
一个字节的等于八个位,位就是我们常说的二进制,例如:
1000 0100这就是八个位(bit),也叫八个比特(bit) 又称一个字节换算如下:
1 Byte = 8 bit
带宽的单位: bps一般以b/s
现在分析人们常说的 一兆带宽即: 1Mb/s分析这个单位,很明显这里的b是指bit(比特) 所以人们常说的带宽并不是字节,而是比特,现在对一兆的带宽换算成字节来观察:
首先要知道比特:1Mb=1024Kb=1024*1024bit注意这行写的是 比特 ,是位 ,是bit
字节:1KB=1024Byte注意这里写的是 字节,是Byte
1Mb/s = (1024*1024) / 8 = 131072 Byte/s (字节) =131072/1024 = 128KB/s
可得人们常说的带宽 其实在我们每秒下载的字节大小为128KB/s
再得10兆带宽就是1280KB/s基本上每秒下载一兆大小的字节,这就是我以前总疑问为什么我家的贷款是是10兆,但是下载数据的时候为啥,就每秒一兆大小的字节速度,10兆带宽指兆比特以比特为单位,下载的为一兆的速度是字节为单位。现在如果你明白了,就证明前面看懂了。
按照上面的公式 :一兆带宽是理论 上是1Mb/s= 128KB/s但是这是理论上的速度,
实际要扣除12%的信息头标识等各种控制讯号所以
1Mb/s = 112KB/s:
2Mb/s = 225KB/s
8Mb/s = 901KB/s
10Mb/s= 1126KB/s
我们的带宽分为上下行的,一般运营商都是希望客户能多下载数据,所以基本上我们用来下载的下行带宽是足够的,但是我们在测并发的时候往往是向外发送数据,所以我们的上行带宽要保证,下面以上行带宽举例:
上行带宽
以50兆的带宽举例发送每个数据包大小为30KB 进行举例
首先我们要明白, 50兆的带宽即 50Mbps带宽使用率并不是 完全占满才效果更好,而是像我们的电脑cpu 如果使用率越高,电脑越来卡,同样带宽也是,带宽占用越多就会越拥挤或者说越堵塞,经验来说,大约70%的使用率是稳定的网络
50Mbps * 0.7= 35Mbps(70%的使用是稳定的网络)
所以我们使用35兆的 带宽为稳定且高效的使用率,同时也说明35兆带宽的是我们最大并发的一个最适合的值,

所以根据上面的公式换算下35Mbps = 128 *35 KB/s=4480KB/s这是之所以没用112*35是因为,那些标识控制讯息,是传输必要的,要不然网络中怎么辨识和接收这些数据呢。
在这里我的数据传输就是通过 base64编码的,由于base64的传输特性将原数据扩大三分之一所以现在 30KB 大小的数据变为40KB数据包(这里base64介绍的很好https://blog.csdn.net/vividboy/article/details/1237740),所以
并发数为:4480/40=112即50兆的带宽数 在使用70%的资源情况下 ,发送的数据包大小为30KB,且传输的时候使用base64 进行转换后,最大秒并发数为112个(大家千万理解我说的并发数,是针对我们自己上行带宽向外发送数据包的时候一秒钟我们的带宽,最多能发出多少数据包)

所以推一个小公式:(并不是很严谨,但我觉得这一组数据足够可以推算这个公式,感兴趣的朋友可以多算几组数据用来推算)
带宽50Mbps 可以认为是 传30KB大小 秒并发为 112个
成正比为分子
并发数肯定与带宽成正比 ,在带宽一定大小的前提下,因为我们带宽越大也就说明我们每秒能发送的数据包越多。
并发数肯定与数据包大小成反比,在带宽一定大小的前提下,因为我们数据包越大,我们能发送出去的数据包个数就越小。
设系数常量为X
并发数 = 系数*带宽(Mb)/数包大小(KB)
112 =50 * X / 30
x = 67.2
所以
并发数 = 带宽(Mb)*67.2/数包大小(KB)
【带宽、并发数计算】大家千万注意我们退的公式单位是什么带宽单位是Mb比特为单位,KB 字节为单位。

原文链接:https://blog.csdn.net/weixin_41955327/article/details/84350847

    推荐阅读