XIU2 / CloudflareSpeedTest

🌩「自选优选 IP」测试 Cloudflare CDN 延迟和速度,获取最快 IP !当然也支持其他 CDN / 网站 IP ~
GNU General Public License v3.0
18.24k stars 3.51k forks source link

软件测试出来的延迟和用ping命令测试出来的延迟差距很大 #385

Closed juicyroastgoose closed 1 year ago

juicyroastgoose commented 1 year ago

问题描述

本来想选一些欧洲冷门地区的IP,所以把ping设的高一点,测试出来的IP如下 $ ./CloudflareST --tll 350 -sl 5 -n 400 [小提示] 在使用 [-sl] 参数时,建议搭配 [-tl] 参数,以避免因凑不够 [-dn] 数量而一直测速...

XIU2/CloudflareSpeedTest v2.2.3

开始延迟测速(模式:TCP,端口:443,平均延迟上限:9999 ms,平均延迟下限:350 ms) 2438 / 5955 [------------------------------------------------------------------- ---------------↘____ 5955 / 5955 [-----------------------------------------------------] 可用: 3021 开始下载测速(下载速度下限:5.00 MB/s,下载测速数量:10,下载测速队列:2439): 10 / 10 [-------------------------------------------------------------------------------------------- IP 地址 已发送 已接收 丢包率 平均延迟 下载速度 (MB/s) 104.16.120.18 4 4 0.00 359.78 20.39 104.16.73.234 4 4 0.00 351.32 19.70 104.16.126.97 4 4 0.00 359.40 19.18 104.16.185.6 4 4 0.00 356.38 19.08 104.16.189.145 4 4 0.00 354.66 18.97 104.16.131.226 4 4 0.00 359.14 18.69 104.16.100.4 4 4 0.00 356.92 16.83 104.16.187.159 4 4 0.00 355.14 15.34 104.16.101.99 4 4 0.00 356.42 12.15 104.16.130.114 4 4 0.00 358.32 10.39

但是实际上,随便拿第一个IP作为例子,同样在bash下面用ping测试 $ ping 104.16.120.18 PING 104.16.120.18 (104.16.120.18): 56 data bytes 64 bytes from 104.16.120.18: seq=0 ttl=54 time=178.885 ms 64 bytes from 104.16.120.18: seq=1 ttl=54 time=178.675 ms 64 bytes from 104.16.120.18: seq=2 ttl=54 time=178.309 ms 64 bytes from 104.16.120.18: seq=3 ttl=54 time=178.523 ms

我换用了TCP和HTTP模式,结果都类似,ping值差距很大。

软件版本

2.2.3

附加截图

No response

XIU2 commented 1 year ago

都不是一个协议,没有可比性。

CloudflareST 用的是 TCP、HTTP 协议的 Ping,而你手动测试的为 ICMP 协议的 Ping。 理论上,如果该 IP 的各个协议没有被 QOS 区别对待,那么随着链接握手复杂程度的增加,延迟结果也会因此了增加一些:HTTPing > TCPing > ICMPing。 但实际情况下,因为网络环境的差异和拥塞,各级路由节点对待不同协议的 QOS 是不一样的,因此 TCPing、HTTPing 延迟会明显大于 ICMPing。但 TCPing、HTTPing 结果会更接近与实际体验。

因此你本地也需要用 TCPing 工具去测速同一个 IP,这才有可比性,另外,你要避免这种情况干扰测速结果 #306