测试VPS的上传和下载速度,不仅是验收新机必备步骤,也是日常运维排查网络问题的重要手段。下面教你几招,从一键脚本到专业工具,彻底摸清VPS的网络真实水平。
一、测试前准备:SSH登录你的VPS
所有测试都需要先通过SSH连接到VPS。Windows用户可以使用PuTTY,macOS/Linux用户直接在终端执行:
ssh root@你的VPS_IP
输入密码后即可进入服务器命令行界面。
提示:以下所有命令均在Linux环境下执行(Ubuntu/Debian/CentOS均适用)。
二、方法一:一键综合测试脚本(新手最推荐)
如果你想最快速度了解一台VPS的综合性能,一键脚本是最省事的选择。不需要装任何东西,一条命令跑完,系统信息、硬盘速度、网络测速全出来。
1. bench.sh —— VPS圈最经典的一键脚本
bench.sh 是秋水逸冰编写的VPS测试脚本,适用于几乎所有主流Linux发行版。执行:
wget -qO- bench.sh |
如果没有wget,用curl版:
curl -Lso- bench.sh |
脚本会自动完成三块测试:
- 系统信息:CPU型号/核心数、内存、硬盘容量、虚拟化类型、是否开启BBR等
- 硬盘IO速度:用dd命令顺序写入三次取平均值
- 网络测速:到全球多个节点的上传/下载速度和延迟(包括美国、欧洲、亚洲等地的测速节点)
跑完后结果直接打印在终端,一目了然。
2. SuperBench —— 专门针对中国大陆三网测速
如果你的VPS主要服务于中国大陆用户,SuperBench是更好的选择。它能分别测试到中国电信、联通、移动三大运营商的下载速度。
wget -qO- git.io/superbench.sh |
对于需要评估“大陆访问质量”的业务,这个脚本的参考价值远超普通国际测速。
3. YABS —— 更现代的全能脚本
YABS(Yet Another Benchmark Script)在bench.sh基础上增加了Geekbench CPU跑分:
curl -sL yabs.sh |
三、方法二:Speedtest CLI —— 官方命令行测速工具
一键脚本虽然方便,但测速节点和算法是固定的。如果你想自由选择测速节点或随时快速测速,Speedtest CLI是首选。
Speedtest CLI是Ookla官方提供的命令行版本,能直接测量延迟(Ping)、下载速度和上传速度。
安装方法
Ubuntu/Debian:
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo
sudo apt install speedtest -y
CentOS/RHEL/AlmaLinux:
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh | sudo
sudo dnf install speedtest -y
如果提示接受许可协议,按提示确认即可。
运行测试
安装完成后,直接执行:
speedtest
工具会自动选择最近的测速节点,输出类似:
Ping: 12.345 ms
Download: 89.23 Mbps
Upload: 12.45 Mbps
进阶用法:指定测速节点
如果想测试到特定城市的网络速度,可以先用 `speedtest --servers` 列出所有可用节点,然后指定节点ID测试:
speedtest --server 12345
关注 Download(下载速度,即从互联网下载到VPS)和 Upload(上传速度,即从VPS上传到互联网)两行数据。
注意:官方推荐使用新版 `speedtest` 命令,而非旧版 `speedtest-cli` Python脚本,结果更准确。
四、方法三:iperf3 —— 专业级双向带宽测试
Speedtest测的是VPS到公共测速节点的速度,受测速节点负载影响较大。如果你需要精确测量两台服务器之间的真实带宽,iperf3才是专业选择。
iperf3能精确测试TCP/UDP吞吐量,支持多线程测试和双向流量测量。
场景1:测试从本地电脑上传到VPS的速度(VPS的上行)
第一步:在VPS上启动服务端
iperf3 -s -p 5201
`-s`表示服务端模式,`-p 5201`指定端口。
第二步:在本地电脑执行客户端测试
iperf3 -c VPS_IP -p 5201 -t 30 -P 4
参数说明:
- `-c VPS_IP`:指定VPS的IP地址
- `-t 30`:测试持续30秒
- `-P 4`:开4个并行连接(单流可能受TCP窗口限制跑不满,多流能打满端口)
如果标称10M端口,iperf3实测应接近10-12 Mbps;如果只有1-2 Mbps,说明端口被限速或超售严重。
场景2:测试从VPS下载到本地的速度(VPS的下行)
在客户端命令后加上 `-R` 参数(Reverse,反向模式):
iperf3 -c VPS_IP -p 5201 -t 30 -P 4 -R
`-R` 让VPS发送数据给本地,即测试下载速度。
场景3:长距离链路优化测试
对于跨境长距离链路(如美国VPS到中国大陆),默认的TCP窗口可能太小,导致带宽跑不满。可以用 `-w` 参数指定窗口大小:
iperf3 -c VPS_IP -w 256K -t 30 -P 4
理论依据:带宽延迟积(BDP)= 带宽 × RTT。对于10Mbps带宽、150ms延迟的链路,窗口至少需要187.5KB。
场景4:UDP协议测试(适合视频/实时场景)
iperf3 -c VPS_IP -u -b 100M -t 30
`-u` 使用UDP协议,`-b` 指定发送带宽,结果包含抖动和丢包率。
五、方法四:wget/curl —— 最直接的下载测速
想测试VPS对外提供文件下载服务的实际速度?用wget或curl下载一个大文件最直观。
在VPS上放一个大于100MB的测试文件比如CentOS ISO镜像),然后在本地或另一台服务器上执行:
curl -o /dev/null http://VPS_IP/largefile.iso
或
wget -O /dev/null http://VPS_IP/largefile.iso
curl/wget会显示实时下载速度,这是最接近真实业务场景的测试方式。
六、结果解读与常见误区
1. Mbps ≠ MB/s
这是新手最容易搞混的概念。Mbps是兆比特每秒,MB/s是兆字节每秒,1 Byte = 8 bits。
10Mbps带宽的理论最大下载速度 = 10 ÷ 8 = 1.25 MB/s
如果商家标称10Mbps,你测出1.25MB/s就是满速;测出10MB/s反而不正常——那意味着实际带宽是80Mbps。
2. 晚高峰测速 vs 闲时测速
网络拥堵程度在不同时段差异巨大。建议在工作日白天、晚上8-11点高峰、凌晨分别测试,存档对比。
3. 多测几次取平均
单次测速受测速节点负载、瞬时网络波动等因素影响。建议至少测3次取平均值。
4. 合格线参考
| 测试工具 | 测试内容 | 10M端口合格线 |
| speedtest | VPS下行 | ≥ 9 Mbps |
| iperf3 单流 | VPS上行 | ≥ 9 Mbps |
| iperf3 4流 | VPS上行(多连接) | ≥ 10 Mbps |
| iperf3 + 窗口优化 | 长距离优化后 | ≥ 10 Mbps |
如果实测持续低于标称值的80%,建议联系服务商核实。
七、总结:测试工具怎么选?
| 你的需求 | 推荐工具 |
| 快速了解VPS综合性能 | bench.sh 一键脚本 |
| 评估中国大陆三网访问质量 | SuperBench |
| 快速测速、自由选节点 | Speedtest CLI |
| 精确测量端到端带宽 | iperf3(双向、多流) |
| 模拟真实文件下载场景 | wget/curl |
| 长期监控网络质量 | MTR / SmokePing |
拿到新VPS后的标准操作:
1. 跑一遍 `bench.sh`,存档系统信息和网络测速结果
2. 用 `speedtest` 测速,截图保存
3. 如果业务对带宽有严格要求,用 `iperf3` 做双向多流测试
实测数据是最好的证据。无论是验收新机还是排查故障,掌握这些测试方法,你就能让数据说话,而不是凭感觉判断。
相关内容
