Cloudflare Tunnel 速度测试

本文撰写于 2022 年 2 月 6 日,文章中的内容具有时效性,当你看到这篇文章时它可能已经过时。

2021年4月,Cloudflare 宣布其旗下的服务 Cloudflare Tunnel 免费开放Cloudflare Tunnel 可以在服务器和 Cloudflare 全球网络之间建立连接,使得服务器在不打开任何防火墙入站规则(甚至可以没有公网IP)的情况下得以被公网访问。这一技术可以应用于内网穿透、保护服务器安全性等领域。

网络上已经有很多关于 Cloudflare Tunnel 的使用教程,但截至本文章发布,我并没有找到延迟和速度测试。因此我自己分别对上海和香港的服务器进行了测试并发布在这里。

测试工具与项目

测试工具:

  • 上海服务器:腾讯云上海的轻量应用服务器,配置为1核2G5M
  • 香港服务器:Azure 香港的1核1G服务器
  • 软件:sshping,可以测试登录时间、延迟、上传下载速度
  • 客户端:Windows 上的 WSL2(ubuntu),位于广州

测试使用 sshping 的默认模式,即运行三个测试:

  1. 第一个测试一次发送一个字符,等待每个字符返回,同时记录每个字符的延迟时间
  2. 第二个测试通过 scp 向远程系统上的 /dev/null 发送一个虚拟文件,记录时间
  3. 第三个测试是下载速度测试,和第二个差不多

对输出的解释:

  • ssh-Login-Time 为SSH登录耗时。其中上海服务器由于使用了密码登录,仅供参考(因为这一项包括了人输入密码的时间);而香港服务器使用私钥登录,不包括输入密码的时间,可信度较高。
  • Latency 分别为延迟的最小、中位、平均、最大值
  • Average-Deviation平均偏差
  • Upload-RateDownload-Rate 分别为上传下载速度

上海服务器测试结果

对上海服务器的测试均未使用代理。实际上代理对该测试中延迟的影响并不大,只有 10ms 左右

直接连接服务器

1
2
3
4
5
6
7
8
9
10
11
ssh-Login-Time:               2.84  s
Minimum-Latency: 32.0 ms
Median-Latency: 35.6 ms
Average-Latency: 39.1 ms
Average-Deviation: 10.1 ms
Maximum-Latency: 113 ms
Echo-Count: 1.00 kB
Upload-Size: 8.00 MB
Upload-Rate: 2.91 MB/s
Download-Size: 8.00 MB
Download-Rate: 661 kB/s

通过 Cloudflare Tunnel 连接服务器

1
2
3
4
5
6
7
8
9
10
11
ssh-Login-Time:               8.43  s
Minimum-Latency: 315 ms
Median-Latency: 328 ms
Average-Latency: 369 ms
Average-Deviation: 128 ms
Maximum-Latency: 1.47 s
Echo-Count: 1.00 kB
Upload-Size: 8.00 MB
Upload-Rate: 960 kB/s
Download-Size: 8.00 MB
Download-Rate: 303 kB/s

香港服务器测试结果

对香港服务器的测试均使用了代理,出口在香港。因为不用就连不上 Cloudflare Tunnel 。

直接连接服务器

1
2
3
4
5
6
7
8
9
10
11
ssh-Login-Time:               2.82  s
Minimum-Latency: 9.56 ms
Median-Latency: 16.6 ms
Average-Latency: 22.3 ms
Average-Deviation: 31.6 ms
Maximum-Latency: 282 ms
Echo-Count: 1.00 kB
Upload-Size: 8.00 MB
Upload-Rate: 1.90 MB/s
Download-Size: 8.00 MB
Download-Rate: 1.01 MB/s

通过 Cloudflare Tunnel 连接服务器

1
2
3
4
5
6
7
8
9
10
11
ssh-Login-Time:               4.59  s
Minimum-Latency: 81.8 ms
Median-Latency: 91.5 ms
Average-Latency: 94.4 ms
Average-Deviation: 9.91 ms
Maximum-Latency: 181 ms
Echo-Count: 1.00 kB
Upload-Size: 8.00 MB
Upload-Rate: 2.70 MB/s
Download-Size: 8.00 MB
Download-Rate: 1.92 MB/s

分析与建议

结果分析

可以发现大陆和香港的服务器通过 Cloudflare Tunnel 连接时区别很大:

  • 上海服务器登录时间和延迟明显上升、上下行速度均降低一半以上。
  • 香港服务器登录时间和延迟虽有上升,但并不多,上下行速度甚至有所提升。

在本地通过 host 命令查询可以发现,Cloudflare Tunnel 分配给两台服务器的域名均解析到了美国洛杉矶的 IP 地址 172.67.211.111104.21.77.198ping 该地址的延迟在 170ms 左右。但这要大于连接香港服务器时的延迟,因此猜测:这里解析到的 IP 地址和最终隧道建立的目标地址应该并无关系

查看 Cloudflare Zero Trust 控制台可以发现,香港服务器连接到的是新加坡(SIN)和香港(HKG)数据中心,而上海服务器连接到了美国加州圣荷西(SJC)和美国加州洛杉矶(LAX)数据中心,印证了该猜测。

建议

香港服务器的延迟比较令人满意,足以运行游戏服务器等延迟敏感的服务,尤其是考虑到 Cloudflare Tunnel 即将支持 UDP 协议。对于大陆的服务器,Cloudflare 一如既往地稳定拉跨,但是如果想搞一搞普通网页服务也不是不行。

值得注意的是,新加坡和香港数据中心的 Tunnel 服务很可能已经被墙,毕竟这是基于 WireGuard 的技术,非常好识别和阻断。因此想通过这玩意搞代理的朋友们可以放弃了。

作者

Cao Mingjun

发布于

2022-02-06

更新于

2022-02-06

许可协议

评论