我一直在努力使用 APIhttps://api.materialsproject.org最近,因为获取数据的时候速度很慢,而且不稳定,我以为只是这个网站的问题,但是今天发现不是这样。
我总是在连接到 wifi 路由器的笔记本电脑上工作。我刚好尝试了另一台具有以太网连接的计算机,发现它获取数据的速度很快!
因此我在笔记本电脑上做了一个 ping 测试。
禁用wifi并插入网线,我得到了
PING api.materialsproject.org (104.18.41.120) 56(84) bytes of data.
64 bytes from 104.18.41.120 (104.18.41.120): icmp_seq=1 ttl=54 time=136 ms
64 bytes from 104.18.41.120 (104.18.41.120): icmp_seq=2 ttl=54 time=134 ms
64 bytes from 104.18.41.120 (104.18.41.120): icmp_seq=3 ttl=54 time=137 ms
拔下电缆,然后插入同一根电缆进入 wifi 路由器,并将笔记本电脑连接到此 wifi 路由器,我得到了
PING api.materialsproject.org (104.18.41.120) 56(84) bytes of data.
64 bytes from 104.18.41.120 (104.18.41.120): icmp_seq=4 ttl=44 time=303 ms
64 bytes from 104.18.41.120 (104.18.41.120): icmp_seq=6 ttl=44 time=301 ms
64 bytes from 104.18.41.120 (104.18.41.120): icmp_seq=9 ttl=44 time=301 ms
哇,这真是令人印象深刻,延迟立即就达到了 200 毫秒。为了排除我的 wifi 质量不佳的可能性,我尝试了另一个 wifi 路由器,延迟仍然是 300 毫秒!
这真的让我很困惑,因为我的 wifi 实际上测试速度非常快https://www.speedtest.net, 这使
更奇怪的是,我工作的地方有一个 AP 网络。如果我连接到这个 AP 网络,我会得到一个快速的 ping
PING api.materialsproject.org (104.18.41.120) 56(84) bytes of data.
64 bytes from 104.18.41.120 (104.18.41.120): icmp_seq=1 ttl=54 time=134 ms
64 bytes from 104.18.41.120 (104.18.41.120): icmp_seq=2 ttl=54 time=135 ms
64 bytes from 104.18.41.120 (104.18.41.120): icmp_seq=3 ttl=54 time=135 ms
但是通过speedtest测试,这个AP网络速度比较慢!
有人能解释一下发生了什么吗?有没有办法减少我通过 WiFi 连接访问 api.materialsproject.org 的 ping 时间?
附言:
根据 Martin 的建议,我 ping 了网关,结果
Pinging 192.168.31.1 with 32 bytes of data:
Reply from 192.168.31.1: bytes=32 time=1ms TTL=64
Reply from 192.168.31.1: bytes=32 time=2ms TTL=64
Reply from 192.168.31.1: bytes=32 time=2ms TTL=64
Reply from 192.168.31.1: bytes=32 time=3ms TTL=64
Ping statistics for 192.168.31.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 3ms, Average = 2ms
按照 petitradisgris 的建议,我tracert api.materialsproject.org
在连接 wifi 时运行,结果
Tracing route to api.materialsproject.org [104.18.41.120]
over a maximum of 30 hops:
1 3 ms 2 ms 1 ms XiaoQiang [192.168.31.1]
2 3 ms 3 ms 3 ms 172.16.24.1
3 6 ms 6 ms 3 ms 120.199.21.1
4 5 ms 5 ms 5 ms 221.131.254.53
5 * * * Request timed out.
6 * 7 ms 6 ms 111.24.10.169
7 28 ms 28 ms 29 ms 221.183.118.37
8 32 ms 28 ms 28 ms 111.24.17.161
9 32 ms 35 ms 34 ms 221.176.21.190
10 33 ms 37 ms 34 ms 221.183.25.202
11 33 ms 54 ms 32 ms 221.183.55.109
12 203 ms 204 ms 204 ms 223.120.12.213
13 218 ms 217 ms 217 ms 223.120.6.218
14 362 ms 368 ms 364 ms 223.119.64.110
15 307 ms 316 ms 306 ms 172.70.212.2
16 * 309 ms * 104.18.41.120
17 301 ms * 301 ms 104.18.41.120
Trace complete.
然后我tracert api.materialsproject.org
只用连接线就跑了
Tracing route to api.materialsproject.org [104.18.41.120]
over a maximum of 30 hops:
1 2 ms 2 ms <1 ms 172.16.24.1
2 27 ms 7 ms 6 ms 61.153.0.129
3 * * * Request timed out.
4 * * 2 ms 115.233.18.21
5 * * 4 ms 202.97.101.189
6 7 ms 7 ms 7 ms 202.97.64.182
7 * 7 ms 7 ms 202.97.50.193
8 142 ms 146 ms 143 ms 202.97.71.198
9 209 ms 267 ms 220 ms 218.30.53.214
10 168 ms 157 ms 158 ms 172.68.188.22
11 135 ms 135 ms 134 ms 104.18.41.120
Trace complete.
附言
现在我回家了。我可以在另一个 wifi 路由器上测试,而且这个很贵 :)
令人惊讶的是,ping 也需要 300 毫秒。跟踪如下
Tracing route to api.materialsproject.org [104.18.41.120]
over a maximum of 30 hops:
1 1 ms 10 ms <1 ms RT-AX86U-0158 [192.168.50.1]
2 2 ms 1 ms 1 ms SMBSHARE [192.168.1.1]
3 6 ms 4 ms 4 ms 10.109.128.1
4 5 ms 4 ms 6 ms 221.131.254.41
5 * * * Request timed out.
6 6 ms 6 ms 7 ms 111.24.10.169
7 28 ms 28 ms 28 ms 221.183.118.33
8 31 ms 52 ms 30 ms 111.24.2.250
9 29 ms 28 ms 28 ms 221.176.21.190
10 28 ms 28 ms 27 ms 221.183.52.1
11 36 ms 38 ms 41 ms 221.183.55.109
12 206 ms 208 ms 212 ms 223.120.12.213
13 202 ms 207 ms 209 ms 223.120.6.218
14 445 ms 459 ms 450 ms 223.119.64.110
15 317 ms 318 ms * 141.101.72.32
16 323 ms * * 104.18.41.120
17 * * * Request timed out.
18 * * * Request timed out.
19 312 ms 305 ms 313 ms 104.18.41.120
Trace complete.
仍然需要复杂的路线。所以我又提出了另一个问题。既然我们已经知道有一条到服务器的快捷方式,那么是否可以强制 WiFi 采用最佳路线?
答案1
如果您直接开车上下班,那么只需要花费一段时间,如果您在途中经过星巴克和麦当劳,那么花费的时间就会更长,对吗?
Wi-Fi 连接可以完成普通以太网连接所不能完成的额外任务 - 例如延迟、无能为力、物理定律等等。
您所能做的最好的事情就是靠近一个非常好的 wifi 基站,该基站连接到具有最佳延迟的主要网络。
现在我想要四分之一奶酪......
答案2
这可能与您的操作系统(Windows 10)信任或不信任您的网络的方式有关,从而导致可能的 VPN 功能。我说的是 Windows 中的网络配置文件(私人、公共)。
1.第一个建议:
打开您的 VPN 设置(系统 > 网络和 Internet > VPN)并禁用高级设置:
允许通过计量网络使用 VPN
漫游时允许 VPN
在两种情况下尝试再次跟踪路由以查看任何变化。
2.第二条建议:
尝试更改网络配置文件(在两种情况下),并检查对您的跟踪路由的影响。
下面是一个 CMD 命令,用于快速执行此操作(在所有界面上)。以管理员权限执行。
将所有连接设置为“私人”配置文件:
powershell -c "Get-NetConnectionProfile |Set-NetConnectionProfile -NetworkCategory private"
将所有连接设置为“公共”配置文件:
powershell -c "Get-NetConnectionProfile |Set-NetConnectionProfile -NetworkCategory public"
在两种情况下尝试再次跟踪路由以查看任何变化。
3.第三个建议:
看起来您的 ISP 提供商路由器(在以太网线的另一端)似乎根据所连接的设备以不同的方式重定向您的网络流量。
尝试配置您的 Wifi 路由器 WAN 接口(以太网有线接口),将其 MAC 地址更改为更“与工作站相关”的内容,例如与您的 Windows 10 工作站以太网 MAC 接口非常相似的内容。
然后再次尝试跟踪路由,看看它是否对延迟和路由有影响。
答案3
我部分解决了我的问题。
由于我的有线网络动态获取 IP。我发现我可以让 wifi 路由器运行AP 模式这样就只需要扩充有线网络,而不需要新建有线网络,路由跟踪更短、速度更快。
答案4
一般而言,Wi-Fi 连接总是比以太网慢,因为距离路由器越远,无线信号就越弱。相比之下,有线连接不会因距离而减弱,并且提供更一致的带宽和更稳定的速度
许多 Wi-Fi 协议的最大速度比普通以太网连接提供的速度要慢。即使速度更快,Wi-Fi 速度也会受到干扰、距离和信号强度的显著影响,导致传输速度变慢。如果可能,在速度至关重要的地方应使用有线连接。
您的 WiFi 设备已老旧,需要更换才能获得更高的速度
协议 最大比特率 802.11b 11 Mbps 802.11a 54 Mbps 802.11g 54 Mbps 802.11n 600 Mbps