开启 3 天免费试用
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。


自建 VPN 慢时,先比较相同授权路径有无隧道的表现,再改服务器设置。有界基线、CPU 观察和单连接、多连接对照,有助于区分 VPS、隧道、客户端及目标问题,但不保证连接变快。
关键要点
- 只测自有或明确授权端点,先定流量预算。
- 干净基线要求路径已知,不能只假定“VPN 已关”。
- 一起观察 CPU、吞吐、重传和接口计数。
- BBR 与复用各有适用层次,不是万能加速开关。
- 一次改一个变量,在预算内复测并验证回退与清理。
运营自有服务器的分工规划定义了归属边界。VPN VPS 吞吐量排查适用于授权 Linux VPS 和独立授权客户端,命令环境参考 Ubuntu 24.04 LTS。IP 隧道如 WireGuard 可适用;应用代理则必须使用真正承载测试流量的传输方式。
作者未完成端到端基准实验,以下没有实测速度、丢包或兼容结果。本文查阅 ESnet iperf3 文档;两端都要核对 iperf3 --version 和本机手册,因为选项与实现行为可能有差异。[1][2]
iperf VPN 测速需要已知路径,不能直接发送流量就认定应用代理接管了它。先定义测的是 VPS 原始路径、路由式隧道地址,还是明确受支持的代理路径。浏览器测速、单文件下载和 iperf 吞吐回答不同问题;服务端路径隔离后,再用读者测速方法复测真实任务。
写清两端、运营者许可、地址族、预期路由和测试监听。预留空闲端口,服务商与主机入站只允许测试客户端地址。iperf 是测量服务,不应长期公开。保留独立管理通道,端口归属或范围不清就停止。
示例计划把 TCP 名义总速率限制为 20 Mbit/s,每次 10 秒,最多 四条流,初始最多 六次。按目标速率,每次应用数据约 25 MB,六次约 150 MB;这是预算估算,不是结果,也不是网络字节硬上限。还要预留开销、双向传输和服务商计费差异;实际额度不够,应先降低速率或次数。
TCP -b 按每条流生效,因此四条流各 5M,名义总目标为 20 Mbit/s。[2]低于容量的限速测试不能确定链路最大速度。提高上限必须先审查预算,不能因数字不好看就加量。可选 UDP 和重复运行若未计入原计划,会另耗预算;超过许可总量前停止。
盘点活动路由、DNS 策略、网络客户端和服务器地址。使用独立授权终端或网络建立无隧道基线,不关闭或修改日常使用的代理或 VPN 客户端来制造直连。无法独立确认路径,就标为基线未确定,停止因果比较。
在自有服务器替换实际本地绑定地址。基线可绑定授权公网侧地址,隧道阶段绑定服务端隧道地址。先确认监听空闲且入站受限。以下一次性服务接受测试后退出,每次计划运行前启动新的自有实例。
SERVER_BIND_IP='REPLACE_WITH_OWNED_LOCAL_ADDRESS'
iperf3 -s -1 -B "$SERVER_BIND_IP" -p 5201
独立客户端把目标替换为授权可达地址。以下是有界单流 TCP 方法,不是测速结果:
TEST_SERVER_IP='REPLACE_WITH_AUTHORIZED_SERVER_ADDRESS'
iperf3 -c "$TEST_SERVER_IP" -p 5201 -t 10 -P 1 -b 20M
记录版本、时间、实际路由、发送端和接收端摘要,以及是否有其他工作负载并行。共享记录时隐藏端点地址。TCP 控制连接能打开,不证明数据路径和地址族符合预期;无法绑定时不要终止其他监听,回到归属盘点。
使用路由式隧道地址重跑相同单流测试,客户端、目标主机和地址族保持不变。若主张互联网出口变化,应从实际测试应用核对可见出口地址,另查 DNS、IPv6 和失败行为。发往网关隧道地址的 iperf,只测其中一段,不等于网关后方真实应用路径。
每次运行前、中、后观察。已有工具支持时记录每核 CPU,整体空闲可能掩盖单工作线程饱和。虚拟化环境记录 steal 时间,但不能仅据此断言服务商超售。检查内存压力和接口计数变化,保持观察接口及时间间隔一致。
以下为授权 Linux 端点的本地观察命令。只取相关 socket 和接口,不公开全机流量元数据。ss 在可用时提供 TCP 拥塞及重传信息。[4]
vmstat 1 12
ss -tin
ip -s link
重传是 TCP 观察值,不直接等于 WireGuard 外层 UDP 丢包。接口 drop 也可能来自无关流量;应与测试区间关联,不能把不同层计数相加。若要做有界 UDP 丢包、抖动实验,仍限相同自有端点,另获低速率和时长预算并查本机 iperf 手册;结果只描述该测试流,不代表所有互联网数据包。
重启一次性自有服务后,用相同名义总上限比较四条流。不能同时提高并发与总发送速率;以下每条流 5M,共四条:
iperf3 -c "$TEST_SERVER_IP" -p 5201 -t 10 -P 4 -b 5M
只在初始次数预算内对基线与隧道做对照。单流低于上限、多流总吞吐改善时,应查单流行为、延迟及处理,而非宣布 VPS 容量无限。两者都到上限,则只测到了设定天花板;探索容量要另定预算。
| 从实际运行填写的观察 | 可能解释 | 下一项隔离检查 |
|---|---|---|
| 两条路径都慢,CPU 和计数相近 | 客户端、服务商或目标的共同限制 | 换授权时段或另一自有端点 |
| 基线足够、隧道较慢且单核忙 | 此路径的隧道处理或配置限制 | 对应核心、进程后只测一个设置 |
| 慢区间重传上升 | TCP 路径或队列需检查 | 固定端点,对比方向 |
| 小任务正常,大传输卡住 | 可能涉及路径 MTU | 使用协议专属 MTU 流程 |
| iperf 正常,真实应用仍慢 | 路径、解析或应用行为不同 | 单独复现真实任务 |
这些只是待验证假设,不是诊断结果。高接收速率不证明延迟敏感任务正常。WireGuard 传输卡顿可先看MTU 排障,不要编造通用 MTU 值;保留旧值,只改有依据的一项后重复相同有界任务。
改前写一条假设、一项变更和预期观察,记录旧值及恢复方式。版本、路由、客户端和负载保持不变;同时改位置、协议、MTU、CPU 套餐会破坏比较。独立管理连接不稳时先恢复,再停止测试。
Linux tcp_congestion_control 选择 TCP 拥塞控制,可用算法由实际内核决定。[3]BBR 不会替换 WireGuard 外层 UDP 的拥塞算法。转发 TCP 流的端点与服务器主动发起 TCP 连接又是不同情况。不能在共享机全局改 sysctl,也不能无测量宣称换算法改善了隧道。
复用只在支持它的实现及传输中合并逻辑流,不是 WireGuard 设置;它可能改变共享与故障关联,不保证降低延迟。代理实现要核实固定版本语义,单独改 mux,不把字段复制到无关协议。验收必须包括真实应用。
打包也是变量,不是免费改进。比较容器与原生网关前,先读WireGuard Docker 与原生部署责任,保持相同拓扑与有效策略。不能为得到好看的测速扩大权限或绕过防火墙。
剩余预算允许时做 A/B/A:原设置、单项修改、恢复原设置。比较相近条件,报告波动而非挑最好数字;许可额度内不能复现,就记为无法确定,不无限追加次数。
实验看似有效也要恢复旧配置,除非另有保留变更的决定。由实例负责人应用恢复,确认原服务、监听、路由和独立管理连接。撤销临时身份,只移除本次新增的防火墙规则、监听和文件;一次性进程退出不代表入站规则已删除。
回退或原服务健康没有确认,就停止后续实验。不能终止无关进程、重置整机防火墙或修改日常网络客户端。保存小份脱敏记录,写清假设、设置、真实观察与清理结果,并按证据负责人指定期限删除。
如果瓶颈反复要求服务器管理,可看VPS 与 VPN 的责任比较,决定谁承担持续运维。这不保证更换服务或升级 VPS 套餐能改善未经测量的路径。
不能。客户端、接入网络、测试目标或路由都可能主导结果。先建立授权端到端基线,另测隧道,再复测真实任务;不能凭一次浏览器结果诊断服务器。
使用自有或明确许可且预算合适的端点。公开可达不代表无限授权。自有监听也要限制访问、设有限计划,结束后撤销暴露。
在总发送速率受控时,它们有助于区分单流行为与总吞吐。保持总上限不变;两者到达上限,只证明达到所选上限,不证明最大容量。
TCP 拥塞控制选择不代表这个结论。WireGuard 外层是 UDP;部分 TCP 端点可用所选算法,但归因前必须确认相关端点、内核支持和测量效果。
不是。复用属于特定实现与传输,WireGuard 没有对应 mux 开关。它会影响共享或故障行为;保留修改前要核实实现并比较真实任务。
不自动成立。直接 iperf 流量可能完全绕过应用代理。使用路由式隧道地址或明确受支持的测试传输;否则路径未确定,不能称代理基准测试。
预算用尽、归属不清、管理连接不稳、影响无关服务或恢复未经验证时停止。保存有限证据,恢复旧值、撤销临时身份并移除本次暴露,再考虑下一实验。
免责声明: 本文提供基于官方文档的测量方法,不是作者基准数据或性能保证。仅使用授权端点,遵守法律及服务商限制,把真实观察、预算估算与假设分开记录。
来源:
Sources checked 2026 年 10 月 11 日。
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。