
我一直在努力使用 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路由器,仍然是300ms!
這真的讓我很困惑,因為我的 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 時間?
附:
按照馬丁的建議,我 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 也需要 300ms。踪跡如下
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
如果你直接開車去上班和回來,需要一段時間,如果你在上班和回來的路上經過星巴克和麥當勞,那就需要更長的時間,對嗎?
wifi 連線可以做普通乙太網路連結做不到的額外事情 - 這就是延遲,沒有什麼可做的,物理定律等等。
您能做的最好的事情就是靠近一個非常好的 WiFi 基地台,該基地台以最佳的延遲連接到主網路。
現在我想要四分之一起司...
答案2
它可能與您的作業系統 (Windows 10) 信任或不信任您的網路的方式有關,導致可能的 VPN 功能。
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 介面非常相似的位址。
然後再嘗試traceroute,看看是否對延遲和路由有影響。
答案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