一、流量是怎么被消耗的:先分清三类流量

在算数字之前,要先搞清楚一件事:VPS 商家给你标注的"月流量"指的是出站流量(服务器发出去的数据),入站流量通常不计费或者不计入额度。这个方向性决定了哪些操作会消耗额度。
出站流量主要来自三类:页面响应(服务器把 HTML、CSS、JS、图片发给访客)、动态请求(每次 API 调用、AJAX 请求、WordPress 后台 AJAX 都要服务器返回数据)、以及第三方回调(你的服务器去拉取外部资源,比如从对象存储同步图片、从远端 API 拉数据、邮件服务器发信)。
入站流量主要是访客上传、服务器拉取镜像、系统更新、备份传输。这部分通常不计入额度,但会影响带宽上限的争抢——同一条链路上,入站和出站共享物理带宽。
很多人对流量有误解,以为"访问一次页面 = 消耗一点流量",实际上如果一个页面有 20 个静态资源,每个资源都独立走一次完整的 TCP 握手和 TLS 握手,握手包本身的开销不容忽视。
一个 1 KB 的静态资源,在 TLS 1.3 环境下,完整传输(握手 + 头部 + 数据)的实际带宽消耗大约是 3 到 5 KB——握手和头部开销是数据本身的数倍。这就是为什么"把图片单独放出去"比"合并减少请求数"更有效。
看自己机器的真实消耗:
# 统计网卡累计收发字节(单位 GB)
cat /proc/net/dev | awk 'NR>2 {split($1,a,":"); printf "%-10s 收 %8.2f GB 发 %8.2f GB\n", a[1], $2/1073741824, $10/1073741824}'
# 用 vnstat 看按天/按月的历史(需要先安装)
vnstat --oneline b
vnstat -d -m
# 实时看当前连接数和速率
iftop -n -i eth0
第一段命令的"发"这一列就是你的月流量消耗速度。
二、单个页面的实际大小怎么测

估算的前提是知道一个页面到底多大。这个数字必须实测,不能拍脑袋,因为同一个 WordPress 主题在不同配置下可以从 200 KB 变到 3 MB。
方法一:用浏览器开发者工具。 打开 F12 的 Network 面板,刷新页面,然后看底部汇总的 Transfer 栏。这个数字包含 HTML、JS、CSS、图片等所有资源,是最接近真实消耗的值。但要注意:首次访问会从浏览器缓存之外拉全部资源,这正是你想要的;后续访问命中缓存时数字会小很多。
方法二:用 curl 统计。 服务器上直接测:
# 测单个页面的 HTML 大小
curl -s https://你的站点/ -o /dev/null -w "size_download: %{size_download} bytes\n"
# 测所有静态资源的总大小(需要站点上已装解析器)
which pup >/dev/null && \
curl -s https://你的站点/ | pup 'img src{}, script src{}' | while read u; do
curl -s -o /dev/null -w "%{size_download}\n" "$u"
done | awk '{s+=$1} END {printf "静态资源总大小: %.1f KB\n", s/1024}'
方法三:从 Web 服务器日志统计。 这是最准确的方法,因为它反映的是真实访客行为:
# Nginx:统计某天每个请求的字节数,并求和
sudo awk '$4 ~ /05\/Nov\/2026/ {sum+=$10; n++} END {printf "请求数 %d, 出站 %.2f GB, 平均 %.1f KB/请求\n", n, sum/1073741824, sum/n/1024}' /var/log/nginx/access.log
# 按页面路径分组,看哪些页面最耗流量
sudo awk '$4 ~ /05\/Nov\/2026/ {split($7,a,"?"); bytes[a[1]]+=$10; cnt[a[1]]++}
END {for (p in bytes) printf "%10.2f MB %6d 次 平均 %7.1f KB %s\n", bytes[p]/1048576, cnt[p], bytes[p]/cnt[p]/1024, p}' \
/var/log/nginx/access.log | sort -rn | head -20
第三条命令的输出直接告诉你哪些页面是流量黑洞。同时也要看请求头中的 Referer,能区分出是页面浏览还是被爬虫刷的。
方法四:从 CDN 面板看。 如果你已经上了 CDN,CDN 面板的流量统计比 VPS 日志更准确,因为它区分了缓存命中和回源。
实测一组典型数字作为基准(WordPress 站点,未加 CDN):
| 页面类型 | HTML | CSS+JS | 图片 | 合计 | 说明 |
|---|---|---|---|---|---|
| 纯文字文章页 | 30 KB | 120 KB | 40 KB | 190 KB | 主题用 CDN 加载静态资源 |
| 图文文章页(含 5 张图) | 30 KB | 120 KB | 800 KB | 950 KB | 图片未压缩时的典型值 |
| 首页(20 篇文章摘要) | 25 KB | 120 KB | 600 KB | 745 KB | 缩略图拖累 |
| 电商列表页(40 个商品) | 40 KB | 200 KB | 2000 KB | 2240 KB | 商品图是主要成本 |
| 后台管理页 | 60 KB | 300 KB | 20 KB | 380 KB | 每次 AJAX 都要重传 |
| API 单次响应(JSON) | 5 KB | 0 | 0 | 5 KB | 按次计费的关键 |
这张表是后面所有计算的输入。它也直接说明了:图片是流量的第一大户,不是 HTML。
三、PV、UV与请求数:换算关系要搞准

商家的流量额度是按"请求体积累"算的,但你看到的统计往往是 PV 和 UV。这两者之间要做一次准确换算,否则估算会差好几倍。
PV(页面浏览量) 是页面请求次数。UV(独立访客) 是去重后的访客数。一个 UV 通常对应 1 到 3 个 PV——用户在落地页停留期间会浏览其他页面。
但更关键的换算在 PV 到"资源请求数":一个 PV 不是一次请求,而是一整套请求。按上面那张表,一个图文文章页是 1 个 HTML 请求加约 20 个静态资源请求加若干 API 请求,一次 PV 对应约 25 次 HTTP 请求。
再看带宽侧的换算。上面表格里的"合计"是页面所有资源的字节总和,但这部分里静态资源是浏览器逐个下载的,且很多浏览器会并发下载 6 个连接。这意味着实际消耗的时间更长,但流量总和是一样的——流量只看字节数,不看并发。
所以核心公式是:
月出站流量 = PV × 每 PV 的平均字节数 × 1.3(缓存未命中与重传的冗余系数)
那个 1.3 的冗余来自:移动网络的 TCP 重传、页面被部分加载时的重复请求、爬虫的重复抓取、以及统计工具自身的误差。实际观察中,不做优化的站点这个系数在 1.2 到 1.5 之间。
# 从日志直接算真实系数:出站总量 ÷ (PV × 页面大小)
sudo awk '$4 ~ /05\/Nov\/2026/ {sum+=$10; n++} END {printf "真实均值: %.1f KB/请求\n", sum/n/1024}' /var/log/nginx/access.log
这个命令给出的是每个 HTTP 请求的平均字节数,不是每个 PV 的。把 PV 乘以每 PV 的资源数再乘以这个均值,两者就一致了。
一个必须单列的变量是爬虫。搜索引擎爬虫、监控探针、安全扫描会持续产生请求,它们不带来任何 PV,但实打实消耗流量。检查:
# 按 User-Agent 统计请求数与字节数
sudo awk '{ua=""; for(i=12;i<=NF;i++) ua=ua" "$i; bytes[ua]+=$10; n[ua]++}
END {for (u in n) printf "%9d 次 %9.1f MB %s\n", n[u], bytes[u]/1048576, substr(u,1,60)}' \
/var/log/nginx/access.log | sort -rn | head -20
# 只看主流爬虫占了多少
sudo grep -cE "bot|crawler|spider" /var/log/nginx/access.log
如果爬虫占了请求数的 30% 以上,加 robots.txt 限速和缓存策略是笔立刻见效的优化。
四、静态资源占比与CDN能省多少

CDN 的价值在这篇里可以用一个公式说清楚:静态资源上 CDN 之后,源站只承担 HTML 和未命中的请求。
计算方法:假设一个页面 950 KB,其中 HTML 30 KB、静态资源 920 KB,占比约 97%。上了 CDN 且缓存命中率高的情况下:
没有 CDN:源站出站 = 950 KB × PV。
有 CDN,缓存命中率 90%:源站出站 = 30 KB(HTML,永远回源)+ 920 KB × 10%(未命中的静态资源)= 30 + 92 = 122 KB 每 PV。
节省比例 = (950 - 122) / 950 = 87%。
这就是 CDN 最大的价值——不是加速,是把源站的出站流量打下来。对流量额度紧张的机器,CDN 不是可选项。
关键在缓存命中率,而命中率取决于三件事:
第一是缓存键的粒度。带随机查询参数的 URL(?v=123、?t=timestamp)每次都是新键,命中率直接归零。静态资源用带内容哈希的文件名(app.a1b2c3.js)或者固定版本号。
第二是缓存时长。图片、字体、JS、CSS 的缓存时长设成 30 天到 1 年,HTML 设成不缓存或几分钟。HTML 不缓存意味着每次访问都要回源,这个流量省不掉,但 HTML 本身很小。
第三是回源行为。回源时如果 CDN 用的是 HTTPS 到源站,握手开销是双向的。
# 检查自己的站点有多少带随机参数的请求(这些是缓存杀手)
sudo awk -F'"' '{print $2}' /var/log/nginx/access.log | grep -oE "\?[^ ]+" | sort | uniq -c | sort -rn | head -15
# 看自己的静态资源 URL 是不是带版本号或哈希
curl -s https://你的站点/ | grep -oE '(src|href)="[^"]*\.(js|css)[^"]*"' | head -10
带 ?v= 这类参数的资源,改成内容哈希文件名之后,CDN 命中率通常能从 20% 以下提升到 85% 以上。
CDN 也有成本,要算清账:
带宽费。多数 CDN 的流量单价低于 VPS 的流量单价,但也不是免费。以 100 GB/月的站点为例,CDN 流量费大约是几美元到十几美元,具体以各家官网当日报价为准。
回源流量。上了 CDN 之后源站出站骤降,但 CDN 到源站的回源流量仍然计你的额度。这部分就是上面公式里那 10% 到 30%。
缓存失效时的冲击。缓存刚建立时,命中率低,回源流量接近 100%。如果你在 CDN 上设了"忽略缓存规则"或者频繁清除缓存,源站会突然承接全部流量。
五、图片优化:流量削减的最大杠杆

回到那张表:图文文章页 950 KB 里,图片占 800 KB,占 84%。把图片优化到位,一个站点的流量能砍掉一半以上。
第一步:改格式。 JPEG、PNG、GIF 换成 WebP 或 AVIF。同样的视觉质量下,WebP 通常比 JPEG 小 25% 到 35%,比 PNG 小 50% 以上。这是最省事的一步,WordPress 装一个 WebP 转换插件就能全局生效。
第二步:压缩。 JPEG 质量从默认的 90 降到 75 到 80,人眼几乎看不出差别,体积降 30% 到 40%。工具用 cwebp、mozjpeg 或者在线的 Squoosh。
第三步:响应式尺寸。 这是收益最大的一步。手机用户在 400 px 宽的屏幕上,却下载了 2000 px 宽的图片,浪费了 80% 的流量。用 srcset 和 sizes 属性让浏览器按需选择。
srcset="photo-400.jpg 400w, photo-800.jpg 800w, photo-1600.jpg 1600w"
sizes="(max-width: 600px) 100vw, 800px"
width="800" height="533" loading="lazy" alt="">
第四步:懒加载。 loading="lazy" 让浏览器只加载视口内的图片。一个长图文页面,用户通常只看到前两三屏,懒加载能把首屏之外的图片请求全部省掉。
# 找出页面上最大的几个资源,看看优化空间在哪
curl -s https://你的站点/ | grep -oE '(src|href)="[^"]+"' | sed 's/.*="//;s/"$//' | head -30 | \
while read u; do
case "$u" in http*) url="$u";; /*) url="https://你的站点$u";; *) continue;; esac
size=$(curl -s -o /dev/null -w "%{size_download}" "$url")
printf "%8.1f KB %s\n" "$(echo "$size/1024" | bc -l)" "$u"
done | sort -rn | head -15
第五步:上传到对象存储 + CDN。 站点服务器只保留 HTML,图片走对象存储的独立域名。这个方案除了省流量,还有两个附带好处:服务器磁盘压力减小(媒体库不在本机),以及图片域名和站点域名不同可以绕开部分浏览器的同源限制。
注意一点:把图片迁到对象存储后,源站的流量是降下来了,但对象存储和 CDN 的费用是要另算的。做预算时把这两项加起来和"多买 VPS 流量"比较,通常前者更便宜,但流量富余的时候后者更省事。
六、算账:不同类型的站点一个月要多少流量

现在把前面所有数字代入,算出几种典型站点的月流量。
场景一:个人博客,日 PV 500,图文文章,20 张图片每篇。
每 PV 按上表的图文文章页 950 KB 算,不含爬虫的裸流量是 950 KB × 500 × 30 = 13.9 GB。加上 1.3 的冗余系数约 18 GB。加上爬虫(按 30% 计)约 23 GB。没有 CDN 的话月流量约 23 GB。
上 CDN 且缓存命中率 90% 后,源站出站降到 122 KB × 500 × 30 × 1.3 = 2.4 GB。有 CDN 约 2.4 GB。
场景二:企业官网,日 PV 1000,纯文字为主。
每 PV 190 KB,裸流量 = 190 KB × 1000 × 30 = 5.3 GB,加冗余约 7 GB,加爬虫约 9 GB。无 CDN 约 9 GB,上 CDN 后约 1 GB 出站。
场景三:电商站,日 PV 3000,列表页为主。
每 PV 2240 KB,裸流量 = 2240 KB × 3000 × 30 = 192.6 GB,加冗余约 250 GB,加爬虫与重试约 320 GB。无 CDN 约 320 GB。 上 CDN 且命中率 90% 后,源站出站约 122 KB × 3000 × 30 × 1.3 = 14 GB。有 CDN 约 14 GB。
这个对比就是全部意义所在:电商站上 CDN 把源站流量从 320 GB 降到 14 GB,降幅 95%。
场景四:资源下载站,日均 100 次下载,每次 200 MB。
裸流量 = 200 MB × 100 × 30 = 585 GB。这个场景 CDN 帮不上多少忙——大文件本身就要从源站出。月流量约 585 GB,必须配大流量套餐或者用不限流量方案。
现在把这些数字对应到真实机型上。当前渠道库里 sixtynet 的套餐(全部年付)流量额度是:LAX-STARTER 5000 GB、LAX-MICRO 10000 GB、LAX-MEDIUM 20000 GB、LAX-LARGE 40000 GB,每 TB 流量的单价都是 3.413 美元。LAX-Storage-500G 是 10000 GB 流量,LAX-Storage-1TB 是 15000 GB 流量。
按月计费的云途系列流量额度:HK.DS.M 是 10000 GB(350 元每月)、HK.DS.P 是 40000 GB(750 元每月)、HK.DS.S 是 40000 GB(800 元每月,超额重置价 500 元)、HK.DS.B 是 40000 GB(1200 元每月)、DS.ES.B 是 30000 GB(1500 元每月)。
RosCloud 系列(justg 在售)流量额度按档位递增:RosCloud-01 是 1024 GB、RosCloud-02 是 2048 GB、RosCloud-03 是 3072 GB、RosCloud-04 是 4096 GB、RosCloud-05 是 5120 GB、RosCloud-06 是 6144 GB,端口都是 500 Mbps。
对照上面的估算:
场景一(个人博客 23 GB):连最小的套餐都够用。RosCloud-01 的 1024 GB 流量是需求的 44 倍,余量极大;sixtynet 的 LAX-STARTER 更是 5000 GB 起。这个场景下流量根本不是约束条件,配置和价格才是。
场景三(电商站无 CDN 320 GB):需要找 400 GB 以上的方案。云途的 HK.DS.P、HK.DS.S、HK.DS.B 都是 40000 GB 流量,余量充足;sixtynet 的 LAX-MEDIUM 是 20000 GB(800 美元年付,折合每月 66.67 美元,8 核 8 GB、160 GB NVMe、10000 Mbps),LAX-LARGE 是 40000 GB(1600 美元年付,折合每月 133.33 美元,8 核 16 GB、320 GB NVMe、10000 Mbps)。但更好的答案是上 CDN,把需求从 320 GB 降到 14 GB,然后选最低档就够。
场景四(下载站 585 GB):必须大流量。sixtynet 的 LAX-LARGE 是 40000 GB,还差 545 GB;云途 DS.ES.B 是 30000 GB 更不够。这个场景要么找不限流量方案,要么用不限流量的对象存储分发,要么上 CDN 分发大文件(注意多数 CDN 对大文件有缓存与价格上的特殊规则)。
七、该留多少余量:余量不是看感觉

算出来的数字是"正常情况",但实际使用里总有超出预期的部分。余量留多少要按几个具体变量算,不是拍脑袋。
变量一:爬虫与扫描流量。 前面估算里已经按 30% 计入,但这个比例波动极大。一个刚上线、权重高的站点,搜索引擎爬虫的抓取频率可能远超普通站点,甚至在几小时内抓走几十 GB。
变量二:流媒体和下载的突发。 一篇文章里嵌一个 20 MB 的视频,100 次播放就是 2 GB。这类内容是流量曲线上的尖峰。
变量三:促销和热点。 站点被推荐一次,流量可能三天内涨十倍。
变量四:备份和同步。 异地备份、图片同步到源站,这些都算源站出站(或者入站,取决于方向)。
变量五:超售与共享带宽的争抢。 端口速率标称 500 Mbps 的机器,如果带宽是共享的,高峰期的实际吞吐可能只有标称的一小部分。
按这些给余量建议:
| 站点类型 | 建议余量 | 依据 |
|---|---|---|
| 个人博客/文档站 | 3 到 5 倍 | 爬虫比例低,但被推荐时会有突发 |
| 企业官网 | 3 倍 | 流量平稳,突发主要来自搜索爬虫 |
| 电商/内容站(有 CDN) | 2 倍 | CDN 已经吃掉大部分,回源流量很稳定 |
| 电商/内容站(无 CDN) | 2.5 倍 | 图片是主要变量,突发最猛 |
| 下载/资源站 | 1.5 倍但要选大额度 | 需求本身可预测,重点是找对套餐 |
| API 服务 | 2 倍 | 按次调用,可预测性较好 |
余量不足的两种典型死法:
一是用完即停。很多商家在流量用尽后直接把端口限速到很低的值甚至断网,站点直接不可访问。二是超额补费很贵。云途 HK.DS.S 的超额流量重置价是 500 元,如果你的估算差了一倍,一年的超额费就是 6000 元,比换一台机器还贵。
处理方式的选择顺序:
1. 优先优化而不是升配。上 CDN、图片转 WebP、给爬虫限速——这三步能把流量砍掉一半以上,成本往往低于换套餐。
2. 其次设告警。在 60%、80%、90% 三个点设提醒,给自己留反应时间。
3. 最后才是升配或者加流量。
# 简单的流量告警脚本,每小时跑一次
#!/bin/bash
LIMIT_GB=40000
USED=$(vnstat --oneline b | awk '{print $3}' | tr -d 'mM')
PCT=$(awk "BEGIN{printf \"%.1f\", $USED/$LIMIT_GB*100}")
echo "已用 $USED GB / $LIMIT_GB GB ($PCT%)"
awk "BEGIN{exit !($USED/$LIMIT_GB > 0.8)}" && echo "警告:流量已超 80%"
八、常见误区与流量陷阱

误区一:以为流量用完只是变慢。 多数商家在流量用尽后的处理方式不是温和限速,而是直接把带宽压到 1 Mbps 甚至断连。断连状态下你的 API、后台、邮件发送全部失效。估算时必须把"用尽"当成不可用状态来考虑。
误区二:只算了访客流量,忘了爬虫和后台。 前面已经说过,爬虫常常占请求数的 30% 以上。而 WordPress 后台的 AJAX 请求在你每次点一下"保存"时都会产生——多人协作的后台,流量消耗比前台还大。
误区三:以为端口速率等于实际速度。 端口速率是上限,不是保底。共享带宽的机器在高峰期实际速度可能只有标称的 20% 到 50%。判断实际能力要看晚高峰的实测值。
误区四:把流量和带宽搞混。 流量是"一个月一共能传多少 GB",带宽是"一瞬间能传多快 Mbps"。一个 500 Mbps 端口配 1024 GB 月流量的套餐,平均带宽占用只有 1024 GB ÷ 30 天 ÷ 86400 秒 ≈ 0.4 Mbps——端口速率严重过剩。反过来,10 Mbps 端口配 40000 GB 流量,平均就需要 48 Mbps,端口根本不够。这两个参数必须一起看。
误区五:忽略入站流量。 多数套餐不计入站,但备份、镜像拉取、数据库同步都走入站。同一台机器上如果还有一个"拉镜像"的容器持续运行,磁盘 IO 和网络都会被占。
误区六:以为不限流量就真的不限。 "Unlimited" 通常附带公平使用政策,超出一定比例后会被降速或要求升级。而且不限流量的机器往往在端口速率、超售比例上有更严格的限制。
# 检查自己机器上最耗流量的应用(按连接数排序)
sudo ss -tnp state established | awk '{print $4, $6}' | sort | uniq -c | sort -rn | head -15
# 看是否有异常高频请求指向同一个路径(可能是被爬或者被攻击)
sudo awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20
九、监控与告警:把估算变成可执行的动作

估算是静态的,监控是动态的。真正的流量管理靠的是持续观测。
基础工具:vnstat。 它按小时、按天、按月把网卡流量落成数据库,查询简单,不占资源。
sudo apt-get install -y vnstat
sudo systemctl enable --now vnstat
vnstat -d -m # 按天按月
vnstat -h # 按小时
vnstat -l # 实时速率
告警阈值的三档设计:
| 档位 | 触发条件 | 动作 |
|---|---|---|
| 黄色 | 已用达到额度的 60% | 核查爬虫比例、检查有没有异常请求路径 |
| 橙色 | 已用达到额度的 80% | 立即优化:上 CDN、图片压缩、给爬虫限速 |
| 红色 | 已用达到额度的 95% | 立即升配或加流量,避免被限速断网 |
给爬虫限速是一步立竿见影的优化。对已知的爬虫单独建一个 location 块,限速并缩短响应:
# 在 server 块里加,对爬虫限速
location ~* (googlebot|bingbot|baiduspider|sogou) {
limit_req zone=crawler burst=10 nodelay;
limit_rate 512k;
# 静态内容返回 304,不重新生成
add_header Cache-Control "public, max-age=86400";
}
配合在 location / 里对真实访客的静态资源设长缓存:
location ~* \.(jpg|jpeg|png|webp|gif|ico|svg|woff2?|ttf|css|js)$ {
expires 30d;
add_header Cache-Control "public, immutable";
access_log off; # 静态资源不记访问日志,省 IO
}
access_log off 这一条还能让日志文件小很多,磁盘和解析都省。
养成每月核对一次的习惯。每月第一天执行一次,把 vnstat 的月数据和你上个月的估算对比:
# 月度核对
vnstat --oneline m
# 跟上个月的估算值对比,偏差超过 30% 就该查原因
偏差的原因通常就三类:页面变大了(比如加了大图或视频)、爬虫行为变了、或者有你没预料到的调用方(比如某个第三方在拉你的接口)。第三类最常见,也最容易漏。
十、带宽和流量的换算:两个参数必须一起看

前面一直在算流量,但商家的套餐里还有另一个数字——端口速率(Mbps)。这两个数必须一起看,否则会买错。
先把关系算清楚。带宽是"一瞬间能传多快",流量是"一个月一共能传多少"。它们之间的桥梁是时间:
平均带宽占用(Mbps)= 月流量(GB)× 8 ÷ (30 × 24 × 3600) ÷ 1000
按这个公式算几个实际例子:
| 月流量 | 对应平均带宽 | 相当于持续下载速度 |
|---|---|---|
| 100 GB | 0.03 Mbps | 4 KB/s |
| 500 GB | 0.15 Mbps | 19 KB/s |
| 1000 GB | 0.31 Mbps | 39 KB/s |
| 5000 GB | 1.55 Mbps | 194 KB/s |
| 10000 GB | 3.10 Mbps | 387 KB/s |
| 40000 GB | 12.40 Mbps | 1.55 MB/s |
这张表说明了为什么很多人在流量上省错了钱。看渠道库里的实际配置:RosCloud 全系列端口都是 500 Mbps,流量从 1024 GB 到 6144 GB;对应平均带宽只占 0.03 到 1.9 Mbps,端口速率的利用率不到 0.4%——端口严重过剩,瓶颈完全不在带宽。
反过来看 sixtynet 的 LAX-MEDIUM:20000 GB 月流量对应平均带宽 6.2 Mbps,而端口是 10000 Mbps。同样是端口过剩。
端口速率真正有意义的场景只有三个:
第一个是大文件下载。如果你的业务是分发安装包、镜像、模型权重,单次传输会瞬间吃满带宽。上面的 10000 Mbps 端口能撑住 1250 MB/s 的瞬时传输,而 500 Mbps 只有 62 MB/s。
第二个是突发流量。内容站被推荐一次,短时间内来的请求如果超过平均带宽的几十倍,端口速率决定了你能扛多久。举例:平时平均 1 Mbps,被推荐后突然到 100 Mbps,500 Mbps 的端口还能撑住 5000 Mbps 之内的峰值。
第三个是多人同时在线的交互型业务。游戏服、实时协作、API 集群,端口速率决定并发连接数上限。100 Mbps 的端口在 TCP 长连接场景下,理论并发连接数受限于窗口大小,通常在几百到一千之间。
端口速率不足的真实后果:队列堆积导致延迟飙升,而不是直接变慢。一个 100 Mbps 的端口上跑 200 Mbps 的流量,数据要等前一批传完才能发出去,延迟从 30 毫秒涨到几百毫秒,用户感受是"网站卡住了"而不是"网站慢了一点"。
判断端口够不够的正确方法不是看标称值,而是看峰值实测:
# 测试实际下载速度(需要服务端有测试文件)
# 在你自己的电脑上执行
curl -o /dev/null -w "speed: %{speed_download} bytes/s\n" http://服务器IP/测试文件
# 用 speedtest 测到服务器的带宽(需在服务器装 speedtest-cli)
sudo apt-get install -y speedtest-cli
speedtest-cli --server 你的城市ID
# 服务端实时看端口利用率(理想值应远低于 100%)
sudo sar -n DEV 1 10
ifstat 也是好用的选择,能按接口看到实时收发速率。判断标准:晚高峰时段(20:00 到 23:00)端口利用率超过 60% 就说明端口是瓶颈,需要升级。
还有一个容易忽略的点:共享带宽的标注方式。 有些套餐标的端口速率是共享的峰值,另一些商家会在说明里写明"共享 XX Gbps 带宽"。前者的实际速率取决于同时在线的其他用户。判断方法只有一个:在晚高峰实测。
按你的情况,下一步该看哪家
上面讲的是判断标准,但多数人最后还是想问一句「那我该买谁」。按你的实际情况对照下面几条,直接去看对应的机型页比继续比价更快:
- 只想搭个站、预算优先:先看价格最低那档够不够用,别为用不上的配置付钱。看 iwebfusion 当前机型与价格
- 做跨境或店群、需要多 IP:优先看 IP 类型与换 IP 政策,别只看配置。看 justg 当前机型与价格
- 主要访客在国内、在意打开速度:先确认回程线路,再谈配置。看 racknerd 当前机型与价格
- 跑游戏服或实时业务:看上行抖动与防御能力,普通套餐往往不达标。看 spinservers 当前机型与价格
价格与库存以商家页面当日显示为准,下单前建议先确认退款窗口与是否支持按月付费。
十一、常见问题

1 MB 的文件访问一次消耗多少流量? 实际约 1.3 到 1.5 MB。因为除了文件本身,还有 HTTP 头、TLS 握手包、以及可能存在的重传。TLS 1.3 下一个很小的资源(比如 1 KB 的图标),实际链路开销可能是它的 3 到 5 倍。这也是"请求数比文件大小更影响流量"的原因。
流量和带宽到底哪个先看? 先看流量够不够,再看带宽够不够。流量决定"能不能一直跑",带宽决定"跑得快不快"。对内容站来说流量更容易成为瓶颈——因为图片优化的空间远大于带宽升级的空间。
装了 CDN 之后 VPS 的流量额度还有意义吗? 有,而且意义更大。CDN 只缓存静态资源,动态请求、API 调用、后台操作、源站自身的更新拉取,全都要走源站流量。另外 CDN 的回源流量也计入源站额度。电商站上 CDN 把 320 GB 降到 14 GB,但 14 GB 依然要占额度的 3.5%。
怎么知道自己是不是被爬虫坑了? 按 User-Agent 聚合日志,看爬虫的请求数占比和字节数占比。如果请求数占 30% 而字节数只占 5%,说明爬虫抓的是小页面(列表页、文章页),影响有限;如果字节数也占 30%,那就必须处理了。处理手段是 robots.txt 加限速、给爬虫单独的低优先级 location、或者干脆禁止没必要的目录。
站点被突然刷流量怎么办? 应急三步:第一,开源站流量监控确认是哪个 IP 段在刷;第二,在 Nginx 层临时拉黑或者对该 IP 段限速;第三,如果确认是被 DDoS 或者恶意爬虫打,直接找服务商换 IP 或者上高防。用 deny 规则临时封禁比在应用层处理快得多。
# 应急封禁某个 IP 段(放在 server 块最前面)
deny 203.0.113.0/24;
# 或者临时限制
limit_req zone=blackhole burst=1 nodelay;
一个月流量预算怎么定才不会被限速? 按本文的方法做:先用实测得到每 PV 的字节数,乘以预估 PV 和 30 天,加 1.3 冗余系数和 30% 爬虫,再乘以你所在站点类型的余量系数(2 到 5 倍)。算完之后挑一个比它高一档的套餐。按这个流程走,历史上被限速的次数会趋近于零。
流量的超额重置是怎么算的? 各家不同,常见有两种:按超出部分的单价计费(单价通常比套餐内的均价贵),或者按固定的"重置价"把额度一次买回来。云途 HK.DS.S 标注的重置价是 500 元。买之前一定要确认是哪种规则,因为这直接决定了超支的实际成本。
VPS 的流量和 CDN 的流量能同时算吗? 不能合并计算。CDN 的流量费单独结,VPS 的出站额度单独结。总成本 = VPS 月费 + CDN 流量费 + 对象存储费。做预算时这三项要一起列,否则会低估真实支出。
端口速率 500 Mbps 但流量只有 1024 GB,值得买吗? 对纯后台用途值得——比如跑 API 服务、做数据同步、当跳板机。端口速率过剩完全没关系,你根本用不到。对前台内容站则要警惕:流量额度小意味着你放不下多少图片和静态资源,要么上 CDN,要么就得严格控制页面体积。

喜欢
高兴
鬼脸
呵呵
无聊
伤心