
Я боролся с APIhttps://api.materialsproject.orgнедавно. Потому что он очень медленный и нестабильный при загрузке данных. Я думал, что это проблема только этого сайта. Однако сегодня я обнаружил, что это не так.
Я всегда работаю на своем ноутбуке, который подключен к маршрутизатору Wi-Fi. Я просто случайно попробовал другой компьютер с подключением Ethernet, и я обнаружил, что он быстро получает данные!
Поэтому я провел ping-тест на своем ноутбуке.
Отключите Wi-Fi и вставьте сетевой кабель, у меня получилось
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
выньте кабель и вставьтетот же кабельв маршрутизатор Wi-Fi, и подключите ноутбук к этому маршрутизатору Wi-Fi, я получил
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 мс. Чтобы исключить возможность того, что у меня плохой Wi-Fi, я попробовал другой Wi-Fi-роутер, все еще 300 мс!
Это меня действительно озадачило, потому что мой Wi-Fi на самом деле очень быстрый, как было провереноhttps://www.speedtest.net, который дает
Еще более странная вещь, что на моем рабочем месте есть сеть AP. Если я подключаюсь к этой сети AP, я получаю быстрый пинг
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 намного медленнее!
Может кто-нибудь объяснить, что происходит? Есть ли способ уменьшить время пинга до api.materialsproject.org через соединение Wi-Fi?
P.S.:
Как и предложил Мартин, я пингую шлюз и получаю
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
при подключении к Wi-Fi и получаю
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.
ПС
Сейчас я вернулся домой. Могу еще раз протестировать на другом роутере Wi-Fi, а этот дорогой :)
Удивительно, но пинг тоже занимает 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.
Все еще идет сложным путем. Поэтому я задал еще один вопрос.Поскольку мы уже знаем, что существует короткий путь к серверу, можно ли заставить Wi-Fi выбрать лучший маршрут?
решение1
Если вы едете прямо на работу и обратно, это займет одно время, а если вы заедете в Starbucks и McDonald's по пути туда и обратно, это займет больше времени, верно?
Соединение Wi-Fi делает больше, чем простое соединение Ethernet — это задержка, ничего не поделаешь, законы физики и все такое.
Лучшее, что вы можете сделать, — это находиться поблизости от очень хорошей базовой станции Wi-Fi, подключенной к основной сети с наименьшей задержкой.
Теперь я хочу четверть сыра...
решение2
Это может быть связано с тем, как ваша операционная система (Windows 10) доверяет или нет вашей сети, что приводит к возможным функциям VPN. Я говорю о сетевых профилях в Windows (частный, общедоступный).
1. Первое предложение:
Откройте настройки VPN (Система > Сеть и Интернет > VPN) и отключите дополнительные параметры:
Разрешить VPN через лимитные сети
Разрешить VPN в роуминге
Попробуйте снова выполнить трассировку в обеих ситуациях, чтобы увидеть изменения.
2. Второе предложение:
Попробуйте изменить сетевой профиль (в обеих ситуациях) и проверьте, как это повлияет на трассировку маршрута.
Ниже приведена команда CMD, которая позволяет сделать это быстро (на всех интерфейсах). Сделайте это с правами АДМИНИСТРАТОРА.
Установите для всех подключений профиль «частный»:
powershell -c "Get-NetConnectionProfile |Set-NetConnectionProfile -NetworkCategory private"
Установите для всех подключений профиль «публичный»:
powershell -c "Get-NetConnectionProfile |Set-NetConnectionProfile -NetworkCategory public"
Попробуйте снова выполнить трассировку в обеих ситуациях, чтобы увидеть изменения.
3. Третье предложение:
Похоже, что маршрутизатор вашего интернет-провайдера (на другой стороне вашего Ethernet-кабеля) по-разному перенаправляет ваш сетевой трафик в зависимости от подключенного устройства.
Попробуйте настроить интерфейс WAN вашего маршрутизатора Wi-Fi (проводной интерфейс Ethernet), изменив его MAC-адрес на что-то более «связанное с рабочей станцией», например, на что-то очень похожее на MAC-интерфейс Ethernet рабочей станции Windows 10.
Затем попробуйте снова выполнить трассировку, чтобы проверить, повлияет ли это на задержку и маршруты.
решение3
Я частично решил свою проблему.
Так как моя кабельная сеть получает IP динамически. Я обнаружил, что могу просто позволить маршрутизатору Wi-Fi работать вРежим точки доступатак что он просто расширяет кабельную сеть вместо того, чтобы строить новую. Теперь трассировка маршрута короткая и быстрая.
решение4
В целом, Wi-Fi-подключения всегда будут медленнее, чем Ethernet, поскольку беспроводные сигналы всегда будут слабеть по мере удаления от маршрутизатора. Напротив, проводные соединения не ухудшаются с расстоянием и обеспечивают гораздо более постоянную пропускную способность и стабильную скорость
Максимальная скорость многих протоколов Wi-Fi ниже, чем скорость, предлагаемая обычными соединениями Ethernet. Даже если она выше, скорость Wi-Fi значительно больше зависит от помех, расстояния и силы сигнала, что приводит к более низкой скорости передачи данных. По возможности, следует использовать проводные соединения, где скорость имеет решающее значение.
Ваше WiFi-оборудование устарело и требует замены для получения более высоких скоростей
Протокол Максимальная скорость передачи данных 802.11b 11 Мбит/с 802.11a 54 Мбит/с 802.11g 54 Мбит/с 802.11n 600 Мбит/с