Да, иногда, и причина скучнее, чем признаёт большинство руководств. Туннель отправляет трафик вашей игры на выход, а оттуда по другому маршруту к тем же серверам, поэтому он может заменить перегруженный или объездной путь либо просто добавить лишний хоп и очередь, когда исходный маршрут и так был хорош. Понять, какой это случай, можно только по измерению на собственном подключении в собственном регионе, и два игрока у одного провайдера могут получить противоположные результаты с одной и той же точки выхода. Проверки ниже выстроены так, чтобы число, которое вы в итоге сравниваете, можно было защитить: тот же регион, то же время суток, тот же сервер.

Зафиксируйте регион и сервер до сравнения

Каждая переменная, которую вы оставляете свободной, становится объяснением, которое нельзя исключить. Зафиксируйте игровой регион, устройство, сеть доступа и время суток, затем сравните базовую линию с одной точкой выхода. Меняйте по одному фактору за прогон, иначе результат не интерпретировать.

Выбирайте выход по маршруту, а не по ярлыку страны. Сервер в столице региона, где вы играете, всё равно может плохо добираться до игровой инфраструктуры, а более далёкий может стоять на лучшем пире. Флаг страны — это догадка о топологии, переодетая в информацию.

Где есть тренировочный полигон или матч с ботами, используйте его. Живые матчи меняют игроков, назначают разные серверы между раундами и меняют фоновую нагрузку, из-за чего контролируемое сравнение превращается в шум.

Средний пинг скрывает то, что вы реально чувствуете

То, что игроки называют лагом, обычно вариация, а не высокое среднее. Ровные 60 ms ощущаются предсказуемо, а среднее 40 ms со всплесками до 120 ms заставляет прицеливание казаться сломанным. Записывайте распределение, а не единственное число, которое игра печатает в углу. Используйте собственную сетевую панель игры, если она есть, а затем подтвердите с хоста сетевым инструментом по адресу, который сессия действительно использует.

ping -c 20 <game-server>
mtr -rwc 50 <game-server>

Потери и джиттер — те поля, которые стоит читать. Отсутствующие ответы ICMP сами по себе доказывают мало, потому что многие хосты понижают приоритет пингов, прекрасно пересылая трафик самой игры. Подтвердите счётчиками внутри игры, прежде чем делать вывод о потерях.

Локальная перегрузка важнее любого выбора выхода

Ничто из того, что делает VPN, не исправит насыщенную отдачу на вашей собственной линии. Домашняя резервная копия, облачная синхронизация или видеозвонок заполняют буфер отдачи, небольшие пакеты игры встают в очередь за объёмными данными, и задержка подскакивает у всех на подключении.

Если можете, тестируйте по Ethernet в фиксированном месте и проведите второй тест, пока отдача занята. Если всплеск появляется под нагрузкой и исчезает, когда она прекращается, вы нашли очередь, и никакая точка выхода её не исправит. Bufferbloat на линии доступа — обычный виновник.

Беспроводное заслуживает того же подозрения. Слабый Wi-Fi канал ухудшается с расстоянием и помехами, а винят выход туннеля, потому что он самое новое звено в цепочке. Перейдите на кабель на один прогон, и ответ обычно становится очевидным. Если проводной прогон стабилен, а беспроводной нет, вы отлаживаете радио, а не маршрутизацию.

UDP в туннеле остаётся UDP в туннеле

Игры отправляют UDP-датаграммы. VPN заворачивает их в то, что использует его внешний транспорт, и если этот внешний транспорт TCP, его поведение при повторах и упорядочивании оказывается между вами и игрой. Туннель, который переподключается посреди матча, даёт тот же рывок, что и плохой маршрут, по совершенно другой причине. Рекомендации IETF по использованию UDP объясняют, почему поведение датаграмм отличается от TCP в тех отношениях, которые здесь важны.

Протоколы тоже отказывают по-разному. Передача TCP службе, которая слушает только UDP, даёт тишину вместо ошибки, а правка порта не может создать слушателя, который никогда не запускался. Сравнивайте корректные профили серверов, иначе сравнение бессмысленно.

Один не связанный с сетью эффект стоит знать: новый выход меняет регион, который выводит служба, а это может запустить проверку или несовпадение местоположения в вашей учётной записи. Это событие учётной записи, а не задержки, и оно не исправляется выбором более близкого выхода.

Запишите числа, прежде чем судить по ощущению

Держите одни и те же поля для каждого прогона, включая те, что кажутся хорошими, потому что полезное сравнение идёт между двумя записанными сессиями, а не между впечатлением и воспоминанием. Короткая сессия, записанная так, ценнее вечера мнений, и она позволяет заметить, когда маршрутизация провайдера ухудшается. Таблица ниже — минимум, который делает честным последующее сравнение.

ПолеЧто записыватьЧто это исключает
Выход и игровой регионгород выхода плюс метка региона в игресмешивание дальнейшего маршрута выхода с вашим локальным путём
Средний круговой обходсреднее измерительного прогона, один и тот же инструмент каждый разсуждение о сессии по одному замеру
Худший всплескединственный худший замер в этом прогонесреднее, скрывающее короткие всплески очереди
Потерипроцент на потоке игры, а не только на ICMPчтение пингов с низким приоритетом как реальных потерь
Окно тестаместное время начала и конца, будний день или выходныесравнение часа пик с тихим утром

Судите по ощущению поверх чисел. Отзывчивость в настоящем матче — тот результат, который вам важен, и измерение, которое улучшается, пока игра кажется хуже, сказало вам, что вы измеряли не то. Повторите таблицу после любого изменения провайдера или маршрута, потому что ответ верен только для измеренного пути.

Похожие статьи