Передача ускорилась после того, как адрес зарезервировали, и вывод написался сам собой. Только то же изменение ещё переключило туннель с UDP на TCP, перенесло тест на другой вечер и, возможно, приземлилось на VM в другой зоне. Резервирование внешнего адреса исправляет проблему жизненного цикла: он сохраняет конечную точку одинаковой между перезапусками. У него нет никакого механизма, который ускорял бы пакеты, поэтому разница в скорости в том эксперименте принадлежит другим переменным, а решение перед вами — какую из них проверять следующей.

Что на самом деле даёт зарезервированный адрес

Compute Engine различает эфемерные адреса, выделяемые и освобождаемые вместе с инстансом, и статические адреса, которые вы резервируете и держите. Эта разница касается сохранения и биллинга, а не пути, который проходит пакет. Стабильная конечная точка действительно полезна для записей DNS, профилей удалённого доступа, списков разрешений партнёров и правил межсетевого экрана, которые не должны меняться при перезапуске VM.

Это хорошие причины зарезервировать один. Ни одна из них не является причиной пропускной способности.

Держите уровень, адрес и транспорт как три переменные

Google Cloud также продаёт уровни сетевого сервиса Premium и Standard, и оба идут к интернету разными путями с разной доступностью функций. Статическая адресация ортогональна обоим, поэтому относитесь к статике и Premium как к несвязанным фактам о VM, а не как к синонимам. Записывайте фактический уровень, регион и любое interconnect или attachment в игре, потому что они описывают путь так, как ярлык адреса никогда не опишет.

Три переменные, три отдельных эксперимента, иначе результат — история, а не измерение.

Спроектируйте тест, отвечающий на один вопрос

Держите VM, адрес, расположение клиента, пункт назначения и рабочую нагрузку фиксированными, сравнивая одобренные профили UDP и TCP. Нужны и слушатель сервера для каждого транспорта, и соответствующие правила межсетевого экрана; изменить ключевое слово клиента и оставить слушатель неизменным — это проверка только вашего терпения. Используйте повторяемую передачу и записывайте направление, длительность, одиночные или параллельные потоки и единицы измерения, потому что MB/s и Mb/s различаются в восемь раз.

Следите и за процессором VM, потому что небольшая инстанция насыщается на шифровании или работе softirq задолго до сети, и этот потолок будет выглядеть точно как ограничение провайдера.

Счётчики повторных передач и потерь с VM и клиента отделяют проблему пути от проблемы транспорта, а полоса прогресса этого не может. Рабочая последовательность с iperf3 занимает около десяти минут на транспорт. Запустите сервер на дальней стороне, гоняйте клиент тридцать секунд в каждом направлении и повторите каждое направление трижды. Отбросьте первый запуск каждой серии, затем сравните скорости отправителя и получателя вместе с числом повторных передач, которые печатают запуски TCP.

Почему UDP и TCP различаются механически

OpenVPN поверх UDP несёт датаграммы и оставляет обработку потерь собственному транспорту приложения. Поверх TCP надёжный поток туннеля лежит под уже надёжным потоком приложения, поэтому один потерянный сегмент останавливает всё за ним, пока внешнее соединение повторяет передачу по своему расписанию. Такое поведение на голове очереди — свойство туннелирования TCP внутри TCP, а не политика провайдера. Обработка MTU и MSS тоже различается между двумя режимами, что меняет поведение фрагментации на одном и том же пути.

Поэтому более быстрый опыт с TCP доказывает, что TCP был быстрее в тот день на том пути, и ничего более общего.

Напишите результат так, чтобы он выдержал проверку

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

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

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