如何使用iperf3对搬瓦工服务器进行调优:修订间差异
更多语言
更多操作
如何使用iperf3命令对搬瓦工服务器进行tcp调优 |
小无编辑摘要 |
||
| 第121行: | 第121行: | ||
#* 结论:哪怕最终速度跑满了,High Retr 也意味着线路质量较差,晚高峰可能会炸。 | #* 结论:哪怕最终速度跑满了,High Retr 也意味着线路质量较差,晚高峰可能会炸。 | ||
== 最后附上:TCP调试参数 https://omnitt.com/ == | |||
自己根据搬瓦工服务器和家里运营商情况调整网络数值,然后获取优化后的内核配置。使用以上iperf命令,进行测试,尽可能地拉高带宽并且降低重传数。提升服务器的使用体验。 | 自己根据搬瓦工服务器和家里运营商情况调整网络数值,然后获取优化后的内核配置。使用以上iperf命令,进行测试,尽可能地拉高带宽并且降低重传数。提升服务器的使用体验。 | ||
[[Category:500 常见应用指南 — Application Guides]] | [[index.php?title=Category:500 常见应用指南 — Application Guides]] | ||
2026年1月28日 (三) 00:34的版本
什么是 iperf3?
iperf3 是目前运维人员最常用的网络带宽测量工具。它基于 C/S(客户端/服务端)架构,可以测试 TCP 和 UDP 带宽质量。它不仅能告诉你最大带宽是多少,还能报告丢包率(Packet Loss)和重传数(Retr),这些数据往往比单纯的“速度”更能反映线路的质量。
第一步:安装 iperf3
iperf3 属于轻量级工具,几乎所有主流 Linux 发行版的官方源都包含它。
Debian / Ubuntu 系统:
apt update && apt upgrade -y
apt install iperf3 -y
CentOS / AlmaLinux / Rocky 系统:
yum install epel-release -y
yum install iperf3 -y
第二步:基础用法
测试需要两台机器。假设:
- 机器 A(服务端):IP 为
192.168.1.1(你需要测试的那台 VPS) - 机器 B(客户端):你的本地电脑,或者另一台 VPS。
注意:请务必在服务商的安全组或机器防火墙(ufw/firewalld/iptables)中放行默认端口 5201。
1. 在服务端(机器 A)运行:
iperf3 -s
此时屏幕会显示 Server listening on 5201,表示正在等待连接。
2. 在客户端(机器 B)运行:
iperf3 -c 192.168.1.1
这就是最简单的测试,默认测试的是 客户端上传到服务端 的 TCP 带宽。
第三步:进阶参数详解(核心干货)
只有掌握了参数,才能针对性地进行测试。以下是我们平常比较常用的参数表:
| 参数 | 完整写法 | 作用解释 | 适用场景 |
|---|---|---|---|
| -s | --server
|
服务端模式,表示这台机器作为接收端。 | 部署在 VPS 上 |
| -c | --client
|
客户端模式,后接服务端 IP。 | 本地或其他测试机 |
| -p | --port
|
指定端口。默认是 5201。 | 当默认端口被占用或防火墙限制时使用 |
| -R | --reverse
|
反向模式。即测试服务端发送给客户端的速度(下载速度)。 | **最常用!**测试 VPS 到本地的下载速度 |
| -P | --parallel
|
多线程并发。后接数字,如 -P 4。
|
测试大带宽(1G+)或单线程跑不满时 |
| -t | --time
|
测试时长。单位秒,默认 10 秒。 | 需要观察长时间网络稳定性时 |
| -u | --udp
|
UDP 模式。测试 UDP 而非 TCP。 | 测试流媒体、游戏线路的丢包和抖动 |
| -4 | --version4
|
强制使用 IPv4。 | 双栈机器排查特定协议问题 |
| -6 | --version6
|
强制使用 IPv6。 | 测试 IPv6 连通性和速度 |
第四步:实战场景演练
光看参数可能有点晕,下面列举几个最常用的测试命令组合。
场景一:我想测 VPS 到我本地的下载速度(最常用)
默认的 -c 是测试上传(你发给 VPS)。但我们通常更关心 VPS 发给我们的速度(下载)。这时必须加上 -R。
# 在本地电脑终端输入 iperf3 -c <VPS_IP> -R
场景二:单线程跑不满,我想测最大带宽潜力
对于跨洋线路或者高延迟线路,单线程 TCP 往往会被 TCP 拥塞控制限制,无法跑满 1Gbps 或 10Gbps 的物理端口。这时我们需要开启多线程并发。
# 开启 4 个线程进行反向测试 iperf3 -c <VPS_IP> -R -P 4
注:如果多线程能跑满,但单线程很慢,说明线路带宽充足但延迟或丢包导致单连接性能不佳。
场景三:测试线路质量(丢包与抖动)
速度快不代表线路好。看视频卡不卡,游戏跳不跳 ping,主要看 UDP 表现。
# 限制带宽为 100M(因为 UDP 没有拥塞控制,不限速可能把口子堵死),测试 UDP iperf3 -c <VPS_IP> -u -b 100M
重点观察输出结果中的:
- Jitter:抖动值,越小越好(<5ms 为佳)。
- Lost/Total:丢包率,0% 最好。如果超过 1% 可能会明显感觉卡顿。
场景四:特定端口与长时测试
有时候为了绕过运营商对特定端口的干扰,或者想看晚高峰 5 分钟内的持续表现:
# 连接服务端的 8080 端口,持续测试 300 秒 iperf3 -c <VPS_IP> -p 8080 -t 300
常见问题排查 (FAQ)
- Error: Connection refused
- 原因:服务端没开 iperf3,或者防火墙没放行端口。
- 解决:检查服务端是否运行了
iperf3 -s,并检查安全组/防火墙设置。
- Retr 列的数值很高
- 原因:Retr 代表 TCP 重传。如果你在测试结果中看到 Retr 数值一直在增加,说明线路存在丢包,TCP 正在通过重传数据来补救。
- 结论:哪怕最终速度跑满了,High Retr 也意味着线路质量较差,晚高峰可能会炸。
最后附上:TCP调试参数 https://omnitt.com/
自己根据搬瓦工服务器和家里运营商情况调整网络数值,然后获取优化后的内核配置。使用以上iperf命令,进行测试,尽可能地拉高带宽并且降低重传数。提升服务器的使用体验。 index.php?title=Category:500 常见应用指南 — Application Guides