"100M 带宽"这句话,可能是海外服务器配置单上信息量最低的一行。它没说是独享还是共享,没说是端口速率还是保障速率,没说超出后是限速还是收费,也没说流量有没有上限。结果就是:同一份"100M 带宽",有的机器晚高峰能稳定跑满,有的连 10M 都跑不到。本文把带宽相关的概念、计费模式和估算方法一次讲清,并给出可直接执行的测量与监控命令,帮你在签合同前把数字算明白。
一、先厘清三个概念:带宽、吞吐、流量
- 带宽(Bandwidth):链路的速率上限,单位通常是 Mbps 或 Gbps,指的是"每秒最多能传多少"。它类似水管的口径。
- 吞吐(Throughput):实际测得的传输速率,受带宽上限、对端能力、延迟、丢包和拥塞控制共同影响。高延迟链路上,单条 TCP 连接的吞吐会被明显限制。
- 流量(Traffic / Transfer):一段时间内传输的数据总量,单位是 GB 或 TB。它类似水表读数,是很多海外机房真正的计费依据。
三者关系可以简化为:流量 ≈ 吞吐 × 时间。所以"不限流量的 100M 带宽"意味着你可以长时间跑满 100Mbps,而"每月 1TB 流量"意味着你可以短时间跑很快,但总量花完就结束了。这两种产品的成本结构完全不同,选错会直接反映在账单上。
二、独享带宽、共享带宽与突发带宽
海外机房在配置单上写的"100M""1G",经常指的是端口速率上限而不是你实际能稳定拿到的速率。判断的关键在于这台机器的上游是否被其他租户共享:独享意味着服务商在交换端口或上游为你预留了对应容量,共享则意味着你和同机柜、同宿主机的其他用户一起争抢同一条出口。前者价格高但可预期,后者价格低但随邻居负载波动。理解这一点之后,再往下看具体的类型划分就会清晰很多。
| 类型 | 定义 | 优点 | 缺点 | 适合的业务 |
|---|---|---|---|---|
| 独享带宽(Dedicated) | 承诺的速率归你独占,不与他人争抢 | 稳定可预期,晚高峰有保障 | 单价高 | 直播、API、支付回调、企业应用 |
| 共享带宽(Shared / Best Effort) | 同一端口或上游由多用户共享,按需争抢 | 价格低,标称速率高 | 晚高峰波动大,实际速率不可预期 | 测试环境、低优先级后台任务 |
| 突发带宽(Burst) | 基准速率较低,短时可冲高 | 兼顾成本与峰值 | 突发额度用尽即回落,长时大流量不适用 | 有明显峰谷的网站、备份窗口 |
| 按 95 分位计费 | 取一个月内 5 分钟采样点的第 95 百分位计费 | 允许短暂峰值,大流量划算 | 账单不直观,需自行监控 | 大带宽长期业务 |
| 按流量计费 | 按实际出向(有时含入向)总量计费 | 用多少付多少 | 流量突增时账单不可控 | 流量平稳或可预测的业务 |
选型时的关键判断是:你的业务能不能容忍速率波动。直播、实时通信、支付回调这类业务一旦带宽被抢,后果是直接影响交易或体验,必须选独享;而后台批处理、定时备份、测试环境对波动不敏感,共享带宽能省不少钱。
三、怎么估算自己真正需要多少带宽
不要用"感觉挺快的"来估算,用日志算。方法是:先算总量(流量),再算峰值(带宽),两个数都要。
3.1 算流量:从访问日志统计
# 统计单日响应体总量(第 10 列是 Nginx 默认的 body_bytes_sent)
awk '{sum+=$10} END {printf "日流量: %.2f GB\n", sum/1024/1024/1024}' /var/log/nginx/access.log
# 找到最耗流量的 20 个请求,优先优化
awk '{print $10, $7}' /var/log/nginx/access.log | sort -rn | head -20
# 按小时统计请求量,找出高峰时段
awk '{print substr($4,14,2)}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -24
日流量 × 30 即为月流量近似值。注意日志统计的只是应用层响应体,实际出向流量还要加上 TLS 开销、响应头和重传,通常在此基础上留 10%-20% 余量。
3.2 算峰值带宽:从网卡采样
# 实时查看网卡速率,Peak 列即采样期内的峰值 iftop -i eth0 -n -P # 每 1 秒采样一次,共 10 次,看 rxkB/s 与 txkB/s sar -n DEV 1 10 # 查看网卡累计收发总量 ip -s link show dev eth0 # 按天/月统计流量(vnStat 需先安装并初始化) vnstat -l # 实时 vnstat -d # 按天 vnstat -m # 按月
换算方法:带宽(Mbps) ≈ txkB/s × 8 / 1000。例如 sar 输出显示 txkB/s 峰值为 6000,则对应约 6000 × 8 / 1000 = 48Mbps。把这个数字与服务商的标称值对比,就能判断是否需要升级。
3.3 用吞吐测试验证标称带宽
# 服务端(在海外服务器上执行) iperf3 -s -p 5201 # 客户端(在本地执行),4 并发持续 30 秒 iperf3 -c 203.0.113.60 -p 5201 -P 4 -t 30 # 反向测试(测入向),加 -R iperf3 -c 203.0.113.60 -p 5201 -P 4 -t 30 -R # 单线程测试,暴露高延迟下的单连接吞吐上限 iperf3 -c 203.0.113.60 -p 5201 -P 1 -t 30
判读标准:如果单线程吞吐远低于多线程,说明是延迟与 TCP 窗口限制,而不是带宽不够——这种情况下应优化传输(启用更大的 TCP 窗口、开启 BBR、接入 CDN),而不是盲目加带宽。对比方法:
# 查看并调整 TCP 拥塞控制算法 sysctl net.ipv4.tcp_congestion_control sysctl net.ipv4.tcp_available_congestion_control # 启用 BBR(内核 4.9+ 支持) modprobe tcp_bbr echo 'net.core.default_qdisc=fq' >> /etc/sysctl.conf echo 'net.ipv4.tcp_congestion_control=bbr' >> /etc/sysctl.conf sysctl -p # 验证是否生效 sysctl net.ipv4.tcp_congestion_control lsmod | grep bbr
四、不同业务形态的带宽选型建议
| 业务形态 | 月流量量级 | 推荐计费 | 建议带宽类型 |
|---|---|---|---|
| 企业官网 / 展示站 | 10-100 GB | 不限流量或大额度流量包 | 共享即可,成本优先 |
| 内容站 / 博客(有图) | 100 GB-1 TB | 按流量 + CDN 分流 | 共享或低基准突发 |
| 跨境电商独立站 | 500 GB-3 TB | CDN 承担静态,源站按流量 | 独享小带宽 + CDN |
| SaaS / API 服务 | 波动大 | 独享带宽或 95 计费 | 独享,稳定性优先 |
| 视频 / 直播 / 下载站 | 数 TB 以上 | 95 计费或不限流量 | 独享大端口(1G/10G) |
| 对象存储 / 镜像源 | 不定 | 按流量,配合 CDN | 大端口独享 |
| 数据库 / 内部服务 | 小但延迟敏感 | 内网流量通常不计 | 走内网或专线 |
4.1 一条实用的经验规则
把静态资源(图片、JS、CSS、视频)交给 CDN,源站只处理动态请求,通常能把源站出向流量降低 60%-90%。这一步做完后,再回头看带宽需求,往往会发现原本要买的独享大带宽根本用不上。判断 CDN 是否生效:
# 检查响应头,确认命中的是 CDN 而非源站
curl -sI https://example.com/ | grep -iE 'cf-ray|x-cache|via|server'
# 对比直连源站与走 CDN 的 TTFB 差异
curl -s -o /dev/null -w '直连 TTFB=%{time_starttransfer}\n' --resolve example.com:443:203.0.113.60 https://example.com/
curl -s -o /dev/null -w 'CDN TTFB=%{time_starttransfer}\n' https://example.com/
五、带宽选型与验收步骤清单
- 先用
awk统计访问日志,算出日流量与月流量,定位流量消耗最大的请求。 - 用
sar -n DEV或iftop采样峰值,按txkB/s × 8 / 1000换算成 Mbps。 - 判断业务是否容忍速率波动:不能容忍(直播/支付/API)就选独享。
- 对比三种计费模式的总成本:按流量(月流量 × 单价)、独享端口(固定月租)、95 计费(取峰值分位)。
- 向服务商确认四个问题:是独享还是共享、标称的是端口速率还是保障速率、超出后限速还是收费、入向是否计费。
- 用
iperf3做多线程与单线程双向测试,记录实际吞吐。 - 若单线程吞吐明显偏低,先排查延迟与 TCP 参数(必要时启用 BBR),再决定是否加带宽。
- 接入 CDN 后重新统计源站流量,复核带宽需求是否下降。
- 部署
vnStat或监控系统,设置流量与带宽告警阈值(如达到月流量 80% 时告警)。 - 上线后连续观察一个完整月,用真实数据校正下一周期的选型。
# 设置流量告警的简单思路:每日统计并比对阈值 vnstat --oneline # 输出示例:1;eth0;2025-10-15; 12.34 GB; 1.20 GB; 13.54 GB; 520.00 GB # 查看月度流量与预估 vnstat -m # 实时带宽占用,定位突发来源 iftop -i eth0 -n -P nethogs eth0
小结
还有一点值得单独强调:带宽问题经常被误诊。当用户反馈"网站慢"时,很多人第一反应是加带宽,但实际测量下来,常见的真实原因往往是页面请求数过多、图片未压缩、数据库查询慢或未启用缓存——这些情况下即使把带宽翻一倍,TTFB 也几乎不会改善。区分方法很简单:用 iperf3 测得的实际吞吐如果远低于标称带宽,才说明带宽确实是瓶颈,否则就该回到应用层去优化。
海外服务器带宽选型,本质是把"我到底要传多少数据、什么时候传、能不能慢"这三个问题回答清楚。答案是:用日志算流量,用 sar 算峰值,按业务容忍度选独享或共享,按流量曲线选计费模式。最容易踩的坑有两个——一是把"100M 端口"当成"100M 保障",二是还没上 CDN 就按峰值买大带宽。前者靠问清合同条款解决,后者靠先做静态资源分流解决。最后别忘了一个持续动作:装上 vnStat 或监控告警,把带宽用量的变化看在眼里,而不是等到账单超标或用户投诉才发现。
企业QQ咨询




