Два покретања, један тунел, а бројеви се разликују три пута. Тунел се између њих није променио. Променило се мерење: тест страница која бира сервер према вашој привидној локацији, број токова који одлучује да ли цев пуни један спор почетак или шест, и трајање довољно кратко да се заврши пре него што се пут уопште почне правилно користити. Тестови брзине нису погрешни, али они одговарају на уже питање од оног које им људи постављају.

Нова адреса излаза мења одредиште теста

Већина тест страница аутоматски бира мерни сервер и бира га делимично гледајући одакле изгледа да долази ваша веза. Укључите тунел и ваша привидна земља се мења, па се изабрани сервер мења, а поређење сада обухвата два различита пута до два различита домаћина.

Резултат уопште није мерење VPN-а. То је мерење вашег пута до сервера који нисте изабрали, а разликом између два покретања може да доминира пиринг тог сервера, а не било шта што је тунел урадио.

Фиксирајте одредиште пре него што промените било шта друго. Сваки поуздан алат вам омогућава да експлицитно изаберете сервер, а када то не чини, страница са резултатима обично наводи коришћени, што је довољно да приметите да два покретања нису упоредива. Потврдите шта је сајт видео пре него што поверујете његовом избору:

curl -sS https://ipinfo.io/json | grep -E '"ip"|"org"|"country"'

Ако се земља променила између покретања, променило се и све што је тест изабрао после тога. Запишите запажени излаз поред сваког резултата и забуна углавном нестаје.

Спор почетак се завршава након што се заврши већина кратких тестова

TCP веза не почиње брзином везе. Почиње малим прозором загушења, отприлике га удвостручује на свако путовање тамо и назад, а капацитет пута достиже тек после неколико путовања. Десетосекундни тест на путу са високим кашњењем може да проведе значајан део живота у том успону.

Зато тунел са већим кашњењем прође лошије на кратком тесту него што заслужује, и зато дуже покретање често пријављује већи број без икакве промене конфигурације. оквир пропусности RFC 6349 то третира експлицитно, и зато озбиљна мерења трају довољно дуго да достигну стабилно стање. Петосекундно покретање на сателитском путу мери убрзивач, не пут.

Гледајте фазе везе уместо да верујете једном броју. Curl пријављује сваку фазу одвојено, па можете да видите да ли време иде у руковање, у успон или у пренос:

curl -sS -o /dev/null -w 'dns=%{time_namelookup} tcp=%{time_connect} tls=%{time_appconnect} total=%{time_total} bytes/s=%{speed_download}\n' \
  https://mirror.example.net/testfile.bin

Покрените га двапут заредом ка истом одредишту. Ако је друго покретање много брже, мерили сте успон, а не пут, и свако поређење које је користило само прво је сумњиво.

Један ток и шест токова мере различите ствари

Један TCP ток је ограничен прозором који може да држи у лету, а то је отприлике време путовања помножено брзином. На дугом путу тај производ превазилази оно што ће један ток искористити, па једно преузимање потцењује постојећу пропусност. Шест паралелних токова попуњава празнину и даје већи број.

iperf3 -c speed.example.net -t 20
iperf3 -c speed.example.net -t 20 -P 6
mtr -rwc 50 speed.example.net

Оба броја су истинита. Број једног тока каже шта ће једно преузимање урадити, што обично добија језичак прегледача. Паралелни број каже шта пут може да носи укупно, што може да искористи торент или преузимање у деловима. Цитирати једно као да је друго је начин на који се здрав тунел замењује без разлога.

Поређење паралелног резултата са резултатом једног тока најчешћи је начин на који људи закључе да им је VPN преполовио брзину. Изједначите метод, па упоредите. Траг у трећој команди додаје контекст који недостаје: пут са великим џитером даће недоследне резултате у оба режима, и никакав број токова то не поправља.

Шифровање кошта процесорског времена, инкапсулација кошта бајтова

Два механизма раде на сваком пакету без обзира колико је веза брза. Шифровање троши процесор по бајту, а инкапсулација додаје бајтове заглавља које веза ипак мора да носи. Оба се појављују као плафон, и имају различите симптоме.

Плафон процесора се појављује као висораван: пропусност престаје да расте колико год токова додали, а процесор машине је заузет док веза није. На малом рутеру или телефону то је често стварна граница, и зато брза линија може ипак да да скроман тунел.

Цена у бајтовима је мања али стална. Додатна заглавља значе мање корисног терета по пакету, а на путу са фиксном максималном преносном јединицом могу да изазову и фрагментацију или црну рупу која се појављује као застој при великим преносима, а не као спор просек.

ObservationLikely mechanismWhat to measure
Throughput flat as streams increaseCPU per packet on one corePer-core utilisation during the test
Fast small transfers, stalled large onesMTU and fragmentationPayload size at which it breaks
Good average, unusable callsQueueing delay behind a full bufferLatency under load

Ова три се често мешају зато што корисници све описују као спор VPN. Само прво реагује на већу машину, само друго на мањи MTU, и само треће на управљање редовима.

Запишите метод у запис

Резултат који вреди сачувати наводи уређај, приступну мрежу, излаз, мерни сервер, смер, број токова и трајање. Без тога два броја не могу да се упореде, а тикет који садржи један број је заправо расположење.

Чувајте и лоша покретања. Серија у којој један излаз сваки пут изазове застој далеко је информативнија од просека, а застоји су управо оно што просеци скривају.

Затим тестирајте оно што вам је заиста важно. Ако је циљ велико преузимање, преузмите датотеку. Ако је циљ позив, мерите кашњење под оптерећењем, а не пропусност у мировању, јер тунел може добро да прође на тесту брзине и ипак учини сваки састанак нечујним.

Повезани чланци