Du paleidimai, vienas tunelis, o skaičiai skiriasi tris kartus. Tunelis tarp jų nepasikeitė. Pasikeitė matavimas: testavimo svetainė, kuri serverį renkasi pagal jūsų tariamą vietą, srautų skaičius, lemiantis, ar vamzdį užpildo vienas lėtas startas, ar šeši, ir tokia trumpa trukmė, kad ji baigiasi anksčiau, nei maršrutas pradedamas tinkamai naudoti. Greičio testai nėra klaidingi, bet jie atsako į siauresnį klausimą nei tas, kurį žmonės jiems užduoda.

Naujas išėjimo adresas pakeičia testo tikslą

Dauguma testavimo svetainių matavimo serverį renkasi automatiškai ir renkasi jį iš dalies pagal tai, iš kur tarsi ateina jūsų ryšys. Įjunkite tunelį ir jūsų tariama šalis pasikeičia, todėl pasikeičia pasirinktas serveris, o palyginimas dabar apima du skirtingus maršrutus į du skirtingus serverius.

Rezultatas visai nėra VPN matavimas. Tai jūsų maršruto iki serverio, kurio nepasirinkote, matavimas, o skirtumą tarp dviejų paleidimų gali lemti to serverio peering, o ne tai, ką padarė tunelis.

Užfiksuokite tikslą prieš ką nors keisdami. Kiekvienas patikimas įrankis leidžia aiškiai pasirinkti serverį, o kai neleidžia, rezultatų puslapis paprastai nurodo panaudotą, ko pakanka pastebėti, kad du paleidimai nepalyginami. Patvirtinkite, ką svetainė matė, prieš pasitikėdami jos pasirinkimu:

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

Jei šalis tarp paleidimų pasikeitė, pasikeitė ir viskas, ką testas pasirinko po to. Užrašykite pastebėtą išėjimą prie kiekvieno rezultato, ir sumaištis daugiausia išnyksta.

Lėtas startas baigiasi po to, kai baigiasi dauguma trumpų testų

TCP ryšys neprasideda linijos greičiu. Jis prasideda nuo mažo perkrovos lango, maždaug kas kelionę pirmyn ir atgal jį padvigubina, o maršruto talpą pasiekia tik po kelių kelionių. Dešimties sekundžių testas didelės delsimos maršrute gali praleisti nemažą savo gyvenimo dalį tame kilime.

Štai kodėl didesnės delsimos tunelis trumpame teste pasirodo prasčiau, nei nusipelno, ir štai kodėl ilgesnis paleidimas dažnai praneša didesnį skaičių be jokio konfigūracijos pakeitimo. RFC 6349 pralaidumo sistema tai nagrinėja aiškiai, todėl rimti matavimai trunka pakankamai ilgai, kad pasiektų pastovią būseną. Penkių sekundžių paleidimas palydoviniame maršrute matuoja greitintuvą, o ne kelią.

Žiūrėkite į ryšio fazes, o ne pasikliaukite vienu skaičiumi. Curl praneša apie kiekvieną etapą atskirai, todėl matote, ar laikas eina į rankos paspaudimą, į kilimą, ar į perdavimą:

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

Paleiskite jį du kartus iš eilės į tą patį tikslą. Jei antras paleidimas daug greitesnis, matavote kilimą, o ne maršrutą, ir bet koks palyginimas, naudojęs tik pirmąjį, yra įtartinas.

Vienas srautas ir šeši srautai matuoja skirtingus dalykus

Vieną TCP srautą riboja langas, kurį jis gali išlaikyti skrydyje, o tai yra maždaug kelionės pirmyn ir atgal laikas, padaugintas iš spartos. Ilgame maršrute ta sandauga viršija tai, ką naudos vienas srautas, todėl vienas atsisiuntimas nuvertina esamą talpą. Šeši lygiagretūs srautai užpildo spragą ir duoda didesnį skaičių.

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

Abu skaičiai teisingi. Vieno srauto skaičius pasako, ką darys vienas atsisiuntimas, ką paprastai gauna naršyklės skirtukas. Lygiagretus skaičius pasako, ką maršrutas gali pernešti bendrai, ką gali išnaudoti torrent arba kelių dalių atsisiuntimas. Vieną cituoti taip, lyg tai būtų kitas, yra būdas be priežasties pakeisti sveiką tunelį.

Lygiagretaus rezultato palyginimas su vieno srauto rezultatu yra dažniausias būdas, kuriuo žmonės padaro išvadą, kad VPN perpus sumažino jų greitį. Sulyginkite metodą, tada palyginkite. Trečios komandos pėdsakas prideda trūkstamą kontekstą: maršrutas su dideliu drebėjimu abiem režimais duos nenuoseklius rezultatus, ir joks srautų skaičius to nepataiso.

Šifravimas kainuoja procesoriaus laiką, inkapsuliavimas kainuoja baitus

Du mechanizmai veikia kiekviename pakete, nesvarbu, kokia greita linija. Šifravimas sunaudoja procesorių už baitą, o inkapsuliavimas prideda antraštės baitus, kuriuos linija vis tiek turi pernešti. Abu pasireiškia kaip lubos, ir jų simptomai skirtingi.

Procesoriaus lubos pasireiškia kaip plynaukštė: pralaidumas nustoja didėti, kad ir kiek srautų pridėtumėte, o įrenginio procesorius užimtas, kai linija – ne. Mažame maršrutizatoriuje ar telefone tai dažnai tikroji riba, todėl greita linija vis tiek gali duoti kuklų tunelį.

Baitų sąnaudos mažesnės, bet pastovios. Papildomos antraštės reiškia mažiau naudingosios apkrovos paketui, o maršrute su fiksuotu didžiausiu perdavimo vienetu jos gali sukelti ir fragmentaciją ar juodąją skylę, kuri pasireiškia kaip strigimas dideliais perdavimais, o ne kaip lėtas vidurkis.

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

Šie trys dažnai painiojami, nes naudotojai visus juos apibūdina kaip tai, kad VPN yra lėtas. Tik pirmasis reaguoja į didesnę mašiną, tik antrasis į mažesnį MTU, ir tik trečiasis į eilių valdymą.

Įrašykite metodą į protokolą

Rezultatas, kurį verta išsaugoti, nurodo įrenginį, prieigos tinklą, išėjimą, matavimo serverį, kryptį, srautų skaičių ir trukmę. Be to dviejų skaičių palyginti negalima, o bilietas su vienu skaičiumi iš tikrųjų yra nuotaika.

Išsaugokite ir blogus paleidimus. Serija, kurioje vienas išėjimas kiekvieną kartą sukelia strigimą, yra daug informatyvesnė nei vidurkis, o strigimai yra būtent tai, ką vidurkiai slepia.

Tada išbandykite tai, kas jums tikrai rūpi. Jei tikslas yra didelis atsisiuntimas, atsisiųskite failą. Jei tikslas yra skambutis, matuokite delsą esant apkrovai, o ne pralaidumą tuščiąja eiga, nes tunelis gali gerai pasirodyti greičio teste ir vis tiek padaryti kiekvieną susitikimą negirdimą.

Susiję straipsniai