Сначала о норме, иначе диагностировать будет нечего.

Любой туннель отнимает часть скорости. Шифрование требует процессорного времени, служебные заголовки занимают место в каждом пакете, а трафик идёт не напрямую, а через промежуточный сервер. Суммарно на быстром канале и близком сервере это 10–15 процентов.

Если после подключения из 100 Мбит/с осталось 85 — всё в порядке, читать дальше незачем. Если осталось 10 — есть причина, и она находится за несколько измерений.

Сначала измерьте правильно

Три ошибки обесценивают любые выводы:

Одно измерение ничего не значит. Замерьте трижды с интервалом в минуту и возьмите среднее. Разброс между попытками бывает двукратным даже без всякого туннеля.

Нужна база для сравнения. Замерьте скорость без туннеля тем же способом и в то же время суток. Без этого числа не с чем сопоставлять.

Проверяющий сервер тоже влияет. Выбирайте один и тот же и учитывайте, что он может находиться далеко от точки выхода.

Закройте на время замера всё, что нагружает канал: облачные клиенты, обновления, загрузки.

Причина 1. MTU

Первая по частоте и самая обманчивая: выглядит как падение скорости, а является потерей пакетов.

Когда размер пакета подобран неверно, крупные пакеты теряются. TCP воспринимает потерю как перегрузку сети и снижает темп отправки — сам, автоматически. Получается кратная просадка при формально исправном канале.

Признак: скорость не просто низкая, а рваная. Загрузка идёт рывками, замирает и возобновляется. Мелкие запросы при этом летают.

Проверка: поставьте MTU = 1280 и замерьте снова. Если выросло — виновник найден, дальше про тонкую настройку.

Причина 2. Процессор

Шифрование выполняет процессор, и на слабом устройстве он становится потолком.

Ярче всего на роутерах: бюджетные модели выдают через WireGuard заметно меньше гигабита независимо от тарифа. Встречается и на старых компьютерах, особенно с OpenVPN — он тяжелее WireGuard.

Признак: скорость упирается в одно и то же значение и не растёт, сколько ни меряй. Загрузка процессора при этом близка к пределу.

Проверка: замерьте с телефона или ноутбука напрямую, минуя роутер. Если там скорость выше в разы — упирается роутер, а не канал. Что делать, описано в разборе «на телефоне работает, на роутере нет».

Причина 3. Расстояние и маршрут

Скорость TCP ограничена задержкой: чем дольше идёт подтверждение, тем меньше данных в единицу времени при прочих равных.

Сервер в другом полушарии даёт задержку в сотни миллисекунд, и никакая ширина канала это не компенсирует.

Признак: высокий пинг до сервера. Скорость ровная, без рывков, просто низкая.

Проверка: сравните пинг до разных серверов и выберите ближний. Разница между 30 и 250 миллисекундами меняет результат кратно. Подробнее о том, что влияет на скорость.

Причина 4. Транспорт и отношение сети к UDP

WireGuard работает поверх UDP. Часть мобильных сетей и корпоративных фильтров обращается с UDP хуже, чем с TCP: режет полосу, повышает потери под нагрузкой.

Признак: на одной сети скорость нормальная, на другой — низкая, при том же сервере и тех же настройках. Особенно заметно на мобильном интернете.

Проверка: попробуйте транспорт поверх TCP. Если разница велика — ограничение снаружи, и настройками внутри туннеля оно не лечится.

Сводная таблица

Как выглядит Причина
Рывками, замирает и возобновляется MTU
Ровный потолок, не растёт процессор
Ровно и низко, высокий пинг расстояние
Зависит от сети, не от сервера UDP режется
Падение 10–15% норма

Чего делать не стоит

Гнаться за протоколом с обфускацией без нужды. Маскировка добавляет мусорные данные к каждому пакету — это её принцип работы, и она заведомо медленнее обычного WireGuard. Включать её стоит, когда без неё не работает, а не «на всякий случай».

Менять сервер после одного замера. Разброс между попытками легко перекрывает разницу между серверами.

Винить туннель в скорости провайдера. Замерьте без него — иногда выясняется, что канал просел сам по себе.

Коротко

Падение на 10–15 процентов — норма, кратное падение — симптом. Рваная скорость указывает на MTU, ровный потолок — на процессор, высокий пинг — на расстояние, а зависимость от сети при неизменном сервере — на то, как эта сеть обращается с UDP. Начинать всегда с трёх замеров и базы для сравнения: без них любой вывод — угадывание.