Cloudflare Tunnel 速度测试
2021年4月,Cloudflare 宣布其旗下的服务 Cloudflare Tunnel 免费开放。Cloudflare Tunnel 可以在服务器和 Cloudflare 全球网络之间建立连接,使得服务器在不打开任何防火墙入站规则(甚至可以没有公网IP)的情况下得以被公网访问。这一技术可以应用于内网穿透、保护服务器安全性等领域。
网络上已经有很多关于 Cloudflare Tunnel 的使用教程,但截至本文章发布,我并没有找到延迟和速度测试。因此我自己分别对上海和香港的服务器进行了测试并发布在这里。
测试工具与项目
测试工具:
- 上海服务器:腾讯云上海的轻量应用服务器,配置为1核2G5M
- 香港服务器:Azure 香港的1核1G服务器
- 软件:sshping,可以测试登录时间、延迟、上传下载速度
- 客户端:Windows 上的 WSL2(ubuntu),位于广州
测试使用 sshping
的默认模式,即运行三个测试:
- 第一个测试一次发送一个字符,等待每个字符返回,同时记录每个字符的延迟时间
- 第二个测试通过
scp
向远程系统上的/dev/null
发送一个虚拟文件,记录时间 - 第三个测试是下载速度测试,和第二个差不多
对输出的解释:
ssh-Login-Time
为SSH登录耗时。其中上海服务器由于使用了密码登录,仅供参考(因为这一项包括了人输入密码的时间);而香港服务器使用私钥登录,不包括输入密码的时间,可信度较高。Latency
分别为延迟的最小、中位、平均、最大值Average-Deviation
是平均偏差Upload-Rate
,Download-Rate
分别为上传下载速度
上海服务器测试结果
对上海服务器的测试均未使用代理。实际上代理对该测试中延迟的影响并不大,只有 10ms 左右
直接连接服务器
1 |
|
通过 Cloudflare Tunnel 连接服务器
1 |
|
香港服务器测试结果
对香港服务器的测试均使用了代理,出口在香港。因为不用就连不上 Cloudflare Tunnel 。
直接连接服务器
1 |
|
通过 Cloudflare Tunnel 连接服务器
1 |
|
分析与建议
结果分析
可以发现大陆和香港的服务器通过 Cloudflare Tunnel 连接时区别很大:
- 上海服务器登录时间和延迟明显上升、上下行速度均降低一半以上。
- 香港服务器登录时间和延迟虽有上升,但并不多,上下行速度甚至有所提升。
在本地通过 host
命令查询可以发现,Cloudflare Tunnel 分配给两台服务器的域名均解析到了美国洛杉矶的 IP 地址 172.67.211.111
和 104.21.77.198
,ping
该地址的延迟在 170ms 左右。但这要大于连接香港服务器时的延迟,因此猜测:这里解析到的 IP 地址和最终隧道建立的目标地址应该并无关系。
查看 Cloudflare Zero Trust 控制台可以发现,香港服务器连接到的是新加坡(SIN)和香港(HKG)数据中心,而上海服务器连接到了美国加州圣荷西(SJC)和美国加州洛杉矶(LAX)数据中心,印证了该猜测。
建议
香港服务器的延迟比较令人满意,足以运行游戏服务器等延迟敏感的服务,尤其是考虑到 Cloudflare Tunnel 即将支持 UDP 协议。对于大陆的服务器,Cloudflare 一如既往地稳定拉跨,但是如果想搞一搞普通网页服务也不是不行。
值得注意的是,新加坡和香港数据中心的 Tunnel 服务很可能已经被墙,毕竟这是基于 WireGuard 的技术,非常好识别和阻断。因此想通过这玩意搞代理的朋友们可以放弃了。
Cloudflare Tunnel 速度测试