要点
定义一个可测试的问题
“AWG 快吗?”没有固定的设置。询问在基线、WireGuard 和 AWG 3.1 之间切换时,一台设备上的下游、上游和延迟如何变化。针对丢失情况运行一个单独的场景,并针对一个配置文件无法握手的网络运行另一个场景。
不要将可用性与吞吐量合并。连接失败的协议接收到连接失败,而不是零 Mbps。零会破坏平均值并隐藏故障类别。
在测试前设定标准:至少七次重复、中值吞吐量、p95 延迟、传输持续时间和允许的后台负载范围。
记录测试床
记录设备、操作系统、CPU、接入类型、运营商、所属区域、时间、客户端版本。对于 AWG 3.1,列出 AmneziaVPN 5.0.1.5 或更高版本、服务器实施和经过清理的配置哈希。记录 WireGuard 版本。
将服务器放置在一台主机或一个数据中心内,并具有相同的 CPU 和带宽限制。检查竞争性工作。使用服务器网络内的 iperf3 端点和一个外部服务来捕获更广泛的路由。
记录 MTU、传输、端口和配置文件类别。切勿发布 PrivateKey、管理端点或完整配置。
收集基线和重复运行
无需 VPN 即可开始。运行七个相同持续时间的下游和上游周期、一个 ping 系列和一个丢失测试。启用 WireGuard 并重复,然后断开连接并让路径稳定下来。启用 AWG 3.1 并遵循相同的顺序。
在另一轮中反转协议顺序,以便更改服务器负载与一个候选者不一致。保留每一次尝试,包括握手失败。不要选择最佳运行。
移动无线电不能保持固定。记录无线电类型和信号电平,并将结果标记为现场观察结果。有线控制运行有助于将协议行为与无线电差异分开。
测量超过 Mbps
吞吐量描述了有用的传输速率。 RTT p50 和 p95 暴露出典型的延迟和峰值。数据包丢失有助于解释拥塞行为。握手持续时间会影响网络更改后的首次连接和恢复。
捕获客户端和服务器 CPU、传输的字节以及内部 TCP 会话的重新传输。对于UDP iperf3,公布提供的速率;过高的目标可能会造成损失。测试更大的响应以进行 MTU 诊断。
AWG 添加了握手服务数据和数据包前缀。由于参数和用户流量大小不同,它们的份额没有通用的百分比。
空白结果表
运行后填写此表并附加包含每次尝试的 CSV。
| 模式 | 连接成功 | 下载中位数,Mbps | 上传中位数,Mbps | RTT p50/p95,毫秒 | 损失,% | 握手中位数,毫秒 | 客户端/服务器CPU |
|---|---|---|---|---|---|---|---|
| 没有VPN | - | - | - | - | - | - | - |
| 线卫 | - | - | - | - | - | - | - |
| AmneziaWG 3.1 | - | - | - | - | - | - | - |
破折号表示没有测量值,而不是零。不要用估计值替换缺失的观察值。添加失败原因和不成功连接的阶段。
解释及出版
比较中位数和离散度。小于运行间方差的差异不会建立协议效应。稳定路径上的高 CPU 指向实现或设备限制。一种模式中出现的丢失需要 MTU、路由和负载检查。
如果没有主要数据集和实施细节,请勿重复使用旧的不受支持的百分比或 Mbps 值。 Amnezia 官方材料解释了架构和兼容性,但没有为每台服务器发布一个基准。
附上日期、版本、设置、原始数据和限制。架构源包括客户端或服务器更新后重复。
报告每个系列的四分位数范围或置信区间。没有分散的平均值隐藏了路线的不稳定性。将空闲时间后的冷连接与活动隧道期间的重新密钥分开,因为它们代表不同的用户事件。
在收集日志之前同步客户端和服务器时钟。时间线可以将 DNS、握手和第一个有用的数据包分开。编辑包含凭据的管理地址、私钥和命令行。
要隔离屏蔽开销,请使用一种实现并仅更改服务器控制下记录的参数集。跨数据中心、客户端或时间窗口的比较不能将差异归咎于混淆。
报告末尾包含地理位置、运营商、版本、样本大小和日期。这些界限告诉读者他们是否可以应用结果或需要重新运行。
继续阅读