带宽与并发数

白嫖不好,写作不易,各位的点赞和评论就是我的动力。

目的:做并发测试的时候,我们要根据自己的带宽大小,看看网络能承受我们每秒到底能发送出多少个数据包,本篇博文是,介绍

带宽与我们每秒最多发送的,数据包的数量关系。

先说推出的结果   并发数 = 带宽*67.2/数包大小   // 注意公式的带宽单位 Mb (是小写b),发送出的数据大小单位是KB (是大写B)

注意:等号左边叫并发数有点不太合适,准确来说是指,每秒钟发出的数据包数量!

下面为推到过程:

首先要分清一下单位

一个字节的等于八个位,位就是我们常说的二进制,例如:

 1000 0100   这就是八个位(bit),也叫八个比特(bit) 又称一个字节   换算如下:

1 Byte = 8 bit      //大B 与小b 的单位关系

带宽的单位: 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  , 即  1Mb/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介绍的很好什么是Base64编码_vividboy的博客-CSDN博客),所以

 并发数为:     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 字节为单位。而且我们是在占用带宽70%的前提下!

如果看官觉得有点用,点赞一下 鼓励一下我吧!
欢迎添加公众号与您分享更多记录

  • 30
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
App最大并发的计算通常需要考虑以下几个方面: 1. 服务器并发处理能力:首先需要了解服务器的性能指标,例如处理器的核、内存容量和带宽等。根据服务器配置和性能测试据,可以推算出服务器能够同时处理的最大请求量。 2. 网络带宽和延迟:网络带宽和延迟也会对最大并发产生影响。如果服务器网络带宽较小或者网络延迟较高,会导致服务器同时处理请求的能力下降。 3. 请求的处理时间:不同请求所需要的处理时间是不同的。一些请求可能需要较长的处理时间,而另一些请求可能只需要很短的处理时间。通过对每种请求的处理时间进行分析,可以计算出在给定时间内能够处理的最大请求量。 4. 据库和其他资源的并发性:如果App需要频繁地访问据库或其他共享资源,那么据库和共享资源的并发性也需要考虑。如果据库或其他资源的并发性有限,那么最大并发将受到限制。 5. 负载均衡和分布式架构:在面对高并发的情况下,如果采用负载均衡和分布式架构,可以将请求分散到多个服务器上进行并发处理,从而提高最大并发。 综上所述,计算App最大并发需要综合考虑服务器性能、网络状况、请求处理时间、资源并发性以及架构设计。根据具体情况进行性能测试和分析,可以得出可靠的最大并发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值