很多个人站长在使用 VPS 或公有云虚拟机时,都会遇到一个令人困惑的问题:服务商宣传机器拥有“100Mbps 端口”或“峰值 100M 带宽”,但实际使用下载或上传速度却远低于预期,比如只有 20Mbps。这并非主机商在故意欺骗,而是因为你购买的是“共享带宽”(Shared Bandwidth)。理解这个潜规则,并掌握正确的测速方法,是站长必备的技能。
1. 共享带宽的“潜规则”:超售(Overselling)机制
共享带宽是当前 VPS 和云服务市场的默认模式,其核心在于“超售”(Overselling)或者说“超额供应”。
什么是超售?
服务商购买了一条物理带宽(例如 1Gbps)连接到骨干网。如果他们严格按照 1:1 的比例销售,这条 1Gbps 的线路只能卖给 10 个用户(每人 100Mbps 独享)。为了最大化利润,服务商会假设所有用户不会在同一时间达到带宽峰值。因此,他们可能会将这条 1Gbps 的线路卖给 50 个甚至 100 个宣称拥有“100Mbps 端口”的用户。
- 承诺比 (Commitment Ratio): 如果 1Gbps 线路卖给了 50个用户,承诺比就是 5:1。这意味着当流量高峰期到来时,原本标称 100Mbps 的用户可能只能分到 20Mbps 左右的带宽。
- 端口速率 vs. 实际带宽: 标称的 100Mbps(或 1Gbps)通常指的是你的虚拟机连接到机房交换机的本地端口速率。这保证了在无竞争的情况下你可以跑满 100M,但一旦数据需要经过共享的出口链路,实际速率就会受限。
简而言之,你购买的是“最高可达 100Mbps 的带宽端口”,而不是“独享 100Mbps 的保证带宽”。
2. 确认瓶颈:排除非网络因素
在抱怨带宽慢之前,我们需要确定瓶颈是否真的在网络出口,而不是 VPS 本身的性能瓶颈(如 CPU 或磁盘 I/O)。
检查 CPU 和 I/O 限制
如果你的 VPS CPU 资源不足,或者磁盘读写速度太慢,它可能无法处理高速网络传输的数据包,从而表现为网络速度慢。
我们可以使用一些工具进行综合测试:
# 安装 bench.sh 或 yabs 等一键测试脚本
# 以下使用 YABS (Yet Another Bench Script) 进行综合测试
curl -sL yabs.sh | bash -s -- --skip-download
通过查看 I/O 测试和 CPU 跑分,可以初步排除本地硬件性能不足的问题。
3. 实操:使用 iperf3 和 speedtest-cli 科学测速
要准确测试你的 VPS 实际能跑多少带宽,我们需要使用专业的网络测试工具,如 speedtest-cli(易用性高)和 iperf3(精准度高)。
步骤一:安装测速工具
# 适用于 Debian/Ubuntu
sudo apt update && sudo apt install -y iperf3 speedtest-cli
# 适用于 CentOS/RHEL
sudo yum install epel-release -y
sudo yum install iperf3 speedtest-cli -y
步骤二:使用 speedtest-cli 快速测试
speedtest-cli 连接到最近的 Ookla 测速点,可以提供一个快速的、面向消费者的带宽参考。
# 运行简单模式测试
speedtest-cli --simple
# 示例输出:
# Ping: 25.123 ms
# Download: 21.56 Mbit/s <- 你的实际下载带宽
# Upload: 18.99 Mbit/s <- 你的实际上传带宽
如果这个结果明显低于 100Mbps,则证实了共享带宽的限制。
步骤三:使用 iperf3 进行精准测试
iperf3 允许你选择一个已知的、带宽充足的测试服务器(最好是公认的机房测速点或你自己另一台独享带宽的机器),通过多线程模式模拟大量连接,从而排除单线程限制。
1. 准备 iperf3 服务器:
如果你有另一台性能良好的机器(或使用公共测试点),在那台机器上运行:
iperf3 -s
2. 在 VPS 上进行多线程测试(下载):
使用 -P 参数指定线程数(例如 5 个),-R 参数测试下载速度(即数据从服务器流向 VPS)。
# 假设服务器 IP 是 192.0.2.1,使用 5 个线程进行下载测试
iperf3 -c 192.0.2.1 -P 5 -R
# 示例输出 (关注 Bandwidth/Jitter):
# [ ID] Interval Transfer Bandwidth
# [SUM] 0.00-10.00 sec 25.0 MBytes 20.0 Mbit/s sender
# [SUM] 0.00-10.00 sec 25.0 MBytes 20.0 Mbit/s receiver
如果 iperf3 测试结果稳定在 20Mbps 左右,那么可以确定,你的主机商对带宽进行了限速或超额供应。
4. 总结与建议
标称 100Mbps 实际只有 20Mbps 是共享带宽下的一种普遍现象,是服务商通过超售降低成本、提高利润的商业模式。对于绝大多数个人网站而言,20Mbps 的持续带宽已经足够应对日常访问。
如何避免“缩水”带宽?
- 明确询问带宽类型: 在购买前询问服务商是“突发/共享带宽”(Burstable/Shared)还是“承诺/独享带宽”(Guaranteed/Dedicated)。独享带宽价格通常是共享带宽的数倍甚至数十倍。
- 选择质量高的线路: 如果对延迟和速度有极高要求,应选择 CN2 GIA、AS9929 或国际优质线路,这些线路的服务商通常超售比例较低。
- 定期测速: 定期使用 iperf3 测量,尤其是在流量高峰期,了解你实际能获得的带宽下限。
汤不热吧