把并发数直接当成带宽来算,错在把“同时发起的请求数”和“单位时间传输的数据量”这两个不同维度的概念画上了等号。就好比在早高峰地铁口,闸机每秒钟能通过多少人,和地铁隧道里能跑多少节车厢,完全是两码事,一个衡量的是“吞吐能力”,一个衡量的是“运输容量”,混为一谈,最终估算出的带宽要么严重浪费预算,要么在业务高峰期被打爆。
并发数和带宽的真实关系:一个被忽略的除法公式
并发数衡量的是“个数”,带宽衡量的是“体积”
行业共识认为,并发数指的是在同一时间窗口内,服务器需要同时维持的TCP连接数量或正在处理的请求数量,而带宽是指网络链路在单位时间内能传输的比特总量。
这两者之间隔着一个关键的“参照系”时间。
举个典型场景:100个并发用户同时在线,如果这100个人只是挂着页面发呆,没有触发任何资源下载,那么它们对应的网络流量接近于零;但如果这100个人同时点击了页面上的4K高清视频播放按钮,瞬间就会涌出百兆级别的流量洪峰。
联网行业在做数据中心出口规划时,有一个通用的经验公式:带宽(Mbps) = 平均请求大小(MB)× 8 × 并发数 ÷ 期望响应时间(秒)。
如果直接拿并发数当带宽,等于自动把公式里的“响应时间”设定为1秒,那隐含的意思就成了:所有并发请求都必须在1秒内传完,可事实上,图片加载可能只要200毫秒,视频缓冲可能需要持续5分钟,两者消耗的带宽是完全不同的数量级。
错误算法的三个典型模型及纠偏
直接套用“并发数 × 单请求大小”
很多初次搭站的站长喜欢用这种算法:预估峰值并发数500,平均每个页面资源大小2MB,于是带宽直接按 500 × 2MB = 1000MB 去购买也就是买1Gbps的独享带宽。
500个并发请求不可能同时到达,它们会分布在几秒甚至几十秒的窗口内排队完成,按照正常网络请求的平均响应时间3秒计算,真实需要的带宽只有 500 × 2MB × 8 ÷ 3 ≈ 2.67Gbps,等等,这算出来反而更大了?
问题出在“同时到达”的假设错了,真正合理的做法是采用“平均并发数+洪峰系数”:
- 先取业务日志中 平均每秒新增请求数

(而非累加连接数)作为基数
- 乘以平均响应体量(页面+接口+静态资源)
- 再乘以1.5到2倍的洪峰冗余系数
用这个口径去算,500个并发在3秒内全部完成,每请求2MB,实际带宽需求约 500×2MB×8÷3 ≈ 2.67Gbps,但注意,这是基于“所有请求必须3秒内全速传完”的极端假设,而现实中大部分请求是几十KB的JSON数据或几十KB的页面骨架,所以实际需求往往会远低于这个数字。
只算单次请求,忽略“连接保持”与“空闲连接”
现代HTTP/2和WebSocket协议支持多路复用与长连接,一个TCP连接并非发完一个请求就断开,而是可以驻留数分钟,假设电商大促期间有10万人在线,但每人平均每10秒才触发一次接口轮询(约1KB数据),这10万并发对应的带宽只有:
- 每秒请求总数 = 100,000 ÷ 10 = 10,000 次
- 每秒数据量 = 10,000 × 1KB ≈ 10MB
- 所需带宽 = 10MB × 8 = 80Mbps
但按照“并发数=带宽”的错误算法,这10万并发会被翻译成 100,000Mbps(约100Gbps),这已经超过了一个标准机柜所有物理服务器的网卡带宽总和,不管是从成本核算还是物理限制来看,都是完全脱离实际的。
忽略传输方向的占比差异
带宽是分上行和下行的,而且成本差异很大,普通用户访问网站,下行流量占主导,上行可能只有轮询心跳、上传小文件等少量流量,如果把并发数一概而论,就掩盖了这种方向性差异。
一个典型的文件上传场景(比如网盘业务)和视频播放场景(下行为主),即使并发数相同,实际带宽需求可能相差一个数量级,网络传输模型必须拆分为:
- 下行峰值带宽 = (活跃下载请求数 × 平均下载速率)求和
- 上行峰值带宽 = (活跃上传请求数 × 平均上传速率)求和
如何用一套可落地的算法替代错误模型
从“并发”到“带宽”的四步换算流程
要解决“并发到带宽”的换算难题,需要在监控系统里埋点采集以下四个核心指标:单请求平均字节数、单请求响应时间、单位时间活跃连接数、协议头占比。
具体操作路径分为四步:
- 第一步:从Nginx或者CLB日志中提取一天的请求日志,统计

单请求平均字节数
(业界常见值为30KB~200KB,视业务类型差异巨大) - 第二步:统计业务的 平均响应时间(比如500ms),以此作为单请求占用链路的时间基准
- 第三步:取业务高峰期的 每秒请求数(即QPS),而不是“最大并发连接数”,QPS = 总请求数 ÷ 峰值持续秒数
- 第四步:按公式计算:带宽(bps) = QPS × 平均字节数 × 8 × (1 + 协议损耗率),协议损耗率通常取 1~1.2,覆盖TCP头、IP头、重传等开销
一个完整的实操推算案例
举个例子,一个中型电商网站的大促场景:
- 高峰期QPS为8,000(每秒8000个请求)
- 平均请求体量为60KB(页面HTML+CSS+JS+XHR混合统计)
- 期望在1秒内响应完毕
那么计算结果:8,000 × 60KB × 8 × 1.15 ≈ 4.42Gbps。
用这个结果去采购带宽,远比拍脑袋买1Gbps或凭感觉买10Gbps要精准得多,这个推算过程同样适用于微信小程序开发带宽如何估算,因为小程序请求走后端API时,体量通常更小(平均20KB左右),但空连接占比更高。
错误估算会导致的真实业务代价
超卖带宽的预算浪费周期
企业IT预算是逐年递增的,一旦带宽按并发数购买,多出来的部分不可能按需退还,假设实际需求只有2Gbps,却按并发数错算出10Gbps的带宽,以国内主流云厂商标准计费(独享带宽包大约每Mbps每月几十到上百元),一年下来多出来的费用少说也是六位数。
在企业搭建外贸独立站选择香港服务器带宽时,这种浪费尤其明显:香港带宽本来就按Mbps收费且价格偏高,如果用并发数换算,很容易多花一倍以上的钱买用不上的冗余。
低估带宽引起的高危故障链
反过来,如果错误模型只是拿着并发数除以某个直觉系数,结果算小了,链路就会在流量高峰时被打满,表现出的症状是:页面白屏、TCP重传率突破5%、连接超时堆积、数据库连接池被打满。
排查时容易误判为代码问题,实际上根源是网络出口拥堵,这种故障往往在晚上8点用户活跃时段突然爆发,

修复要等带宽扩容生效,通常需要数小时,损失无法挽回。
关于带宽规划的三个补充建议
云厂商提供的弹性带宽是一种容错保险
如果无法精确预估业务增长,就没有必要一次性买断带宽,大多数云平台支持“按使用流量计费”或“按固定带宽+弹性峰值”组合付费。
- 基础带宽设为日常平稳值的5倍
- 峰值超过阈值时自动按量付费,单价高但在可控范围内
- 这使得“算错”的代价被限制在极小范围内,不会导致资损或宕机
连接复用是治理并发数虚高的有效手段
业内专家指出,多数业务的并发连接都存在很大的优化空间,开启HTTP/2多路复用、合并请求、使用CDN缓解源站带宽压力,这三步做好,通常能把有效带宽需求压缩掉60%以上。
定期用流量报表校准原始模型
带宽规划不应该是一锤子买卖,建议每季度拉取一次负载均衡和CDN的流量报表,把实际入方向峰值带宽除以当时的QPS,得到“每请求实际带宽成本”,用来修正下一季度的采购模型。
常见问题解答
并发数达到10000时,需要多大带宽?
没有统一的答案,需要先明确这10000是“活跃连接数”还是“每秒请求数”,若是前者,相当一部分连接处于空闲等待状态,实际带宽需求可能只有几百Mbps;若是后者,则按前面提供的公式,用平均请求字节数(常见50KB~200KB之间)乘以10000,再乘以8和损耗系数,可以得到一个大致区间:通常需要4Gbps~16Gbps。
如何从云监控中查看准确的带宽参考值?
登录云控制台(以简米云为例),找到“云监控”->“流量监控”或“CES”产品入口,选择“负载均衡实例”,查看“入方向带宽”和“出方向带宽”监控曲线,取其95计费峰值作为参考,注意带宽的单位为bps(比特每秒),如果看到的是Bps(字节每秒),需要乘以8换算。
在使用CDN的情况下,还需要按并发数计算源站带宽吗?
不需要,CDN回源带宽取决于缓存命中率,如果命中率在90%以上,源站带宽只承担10%的请求流量,按这个比例折算即可,但登录、支付等动态请求无法缓存,需要单独核算这部分动态接口的并发QPS,再代入公式。