Чому завантаження через VPN може випередити пряме з'єднання
Передача, що прискорюється в тунелі, зазвичай вказує на обмеження на одному порту. Три контрольовані порівняння відділяють формувач від справжнього прискорення.
Підключіть тунель, почніть велике завантаження, і воно піде приблизно вдвічі швидше, ніж той самий файл без нього. Це звучить як реклама, але може бути справжнім вимірюванням на домашній лінії. Звичайна причина — обмеження швидкості, прив'язане до одного порту: тунель забирає вашу передачу туди, де формувач не дивиться, і реальна пропускна здатність лінії вперше проявляється.
Тобто цікаве число — не те, наскільки швидким був VPN. А те, скільки своєї лінії ви ніколи не отримували, і чому.
Обмеження, що йде за портом, а не за маршрутом
Провайдер доступу може обмежувати пропускну здатність на абонента за протоколом або портом призначення, і порт 80 — улюблена ціль, бо стільки звичайного перегляду використовує саме його. Обмеження часто вводиться не з першого пакета: передача починається близько швидкості лінії, спалює сплескову квоту і потім сідає на обмежену величину. Перші секунди виглядають здоровими, решта передачі — ні.
Надішліть ті самі байти через інший порт, і формувач на 80 їх ніколи не побачить. Тунель ніби обганяє пряме з'єднання, хоча додав перехід, шифрування та власні накладні витрати. Покращився не шлях, а відсутність правила.
Тому ефект такий стійкий за різних файлів і адресатів. Якщо обмеження на порту, все, що йде через цей порт, поводиться однаково, яким би не був розмір файлу і хто б не був вузлом. Адресат, що притягує інше правило, показує іншу криву, і ця різниця сама по собі діагностична.
Вимірюйте плато, а не пік
Пік — найменш інформативна частина передачі, бо будь-яке з'єднання виглядає добре, поки наповнюються його буфери. Запишіть, де швидкість заспокоюється і скільки там тримається.
curl -o /dev/null -w '%{speed_download} %{time_total}\n' https://<host>/test.bin
scp user@<transfer-host>:/data/test.bin /tmp/
Запустіть пару підряд на одній машині, в одну годину, проти вузлів у зіставних мережах. Одна проба нічого не доводить; форма кривої за двома запусками кожного — це те, що відрізняє сплескову квоту від сталого обмеження. Записуйте, де швидкість вирівнюється, а не те, що показала перша секунда, бо сплеск — це саме те, що формувач дає вам перед початком обмеження. Спокійне плато, яке тримається до кінця передачі, і є число для порівняння.
Тримайте файл уже стиснутим, щоб транспортне стиснення не можна було запропонувати як пояснення. PDF або архів прибирає цю змінну і заодно заважає будь-кому стверджувати, що тунель стиснув корисне навантаження. Якщо обидві передачі використовують той самий файл, єдина різниця, що лишилася, — це шлях і порт. Записуйте інструмент і порт поруч із кожним числом, інакше другий запуск незіставний із першим.
Три порівняння, які ізолюють причину
Пройдіть їх по порядку і зупиніться, щойно картина стане ясною, бо кожне виключає свою історію.
- Повторіть те саме завантаження звичайним веб-шляхом і інструментом передачі на іншому порту, з вузла зі зіставною ємністю.
- Повторіть обидва з нестисливим файлом, щоб стиснення перестало бути кандидатом.
- Якщо ви самі керуєте сервером тунелю, переприв'яжіть його до порту 80, поправте профіль клієнта, щоб обидва кінці домовилися, і передайте знову. Якщо тунель тепер стоїть на обмеженій веб-швидкості, обмеження йде за портом, а не за VPN.
Третій крок — вирішальний, і саме його люди пропускають, бо він вимагає зміни конфігурації. Без нього ви показали, що дві речі різняться, а не що причина в порті.
Чого це вимірювання не може підтвердити
Воно не показує, що тунель загалом швидший, що він щось стискає або що інші порти лінії не обмежені. Воно описує цю передачу, на цій лінії, в цю годину. Обмеження можуть діяти на сеанс, на абонента або за часом доби, і вони можуть змінюватися без попередження.
Воно також не доводить, що прямий шлях зламаний. Обмежений шлях усе ще працює; він обмежений навмисно, а навмисна політика — не несправність, що чекає ремонту.
І воно аж ніяк не виправдовує маршрутизацію всього через тунель. Кожен застосунок на порту 80 лишається обмеженим, а все, що ви перенаправите, тепер залежить від зайвого переходу і зайвого режиму відмови.
Перетворіть знахідку на щось здійсненне
Запишіть спостереження як вимірювання, а не як вирок: великі передачі через порт 80 сідають близько половини швидкості, якої той самий файл досягає на іншому порту, в ці години, на цій лінії, з цими пробами в додатку. Це запит до підтримки, який хтось може розслідувати.
«VPN швидший» — це не так. Це запрошує відповідь про накладні витрати шифрування, і така відповідь технічно правильна, але нікому не повідомляє нічого корисного. Додайте число проб, годину і порт, щоб читач міг відтворити картину.
Якщо ви вирішите й далі використовувати інший порт для масових передач, занотуйте застереження у власних записах: перенесення слухача на порт 80 конфліктує з будь-яким веб-сервером, уже прив'язаним там, і виникла відмова виглядає як зламаний тунель, а не як конфлікт портів.