Miks kaks VPN-i kiirustesti samas tunnelis ei ühti
Uus väljumine muudab testiserverit ja aeglane algus muudab tulemust. Kinnitage sihtkoht, sobitage voogude arv ja eraldage protsessori kulu lingi mahutavusest.
Kaks jooksu, üks tunnel ja numbrid erinevad kolm korda. Tunnel nende vahel ei muutunud. Muutus mõõtmine: testisait, mis valib serveri teie näilise asukoha järgi, voogude arv, mis otsustab, kas toru täidab üks aeglane algus või kuus, ja kestus, mis on piisavalt lühike, et lõppeda enne, kui teed üldse korralikult kasutama hakatakse. Kiirustestid ei ole valed, kuid need vastavad kitsamale küsimusele kui see, mille inimesed neile esitavad.
Uus väljumisaadress muudab testi sihtkohta
Enamik testisaite valib mõõteserveri automaatselt ja teeb seda osaliselt vaadates, kust teie ühendus näiliselt tuleb. Lülitage tunnel sisse ja teie näiline riik muutub, seega valitud server muutub ning võrdlus hõlmab nüüd kahte erinevat marsruuti kahe erineva hostini.
Tulemus ei ole üldse VPN-i mõõtmine. See on mõõtmine teie teest serverini, mida te ei valinud, ja kahe jooksu erinevust võib domineerida selle serveri peering, mitte miski, mida tunnel tegi.
Kinnitage sihtkoht enne, kui muudate midagi muud. Iga usaldusväärne tööriist lubab serverit selgelt valida, ja kui ei luba, nimetab tulemuste leht tavaliselt kasutatud serveri, millest piisab märkamaks, et kaks jooksu ei ole võrreldavad. Kinnitage, mida sait nägi, enne kui usaldate selle valikut:
curl -sS https://ipinfo.io/json | grep -E '"ip"|"org"|"country"'
Kui riik jooksude vahel muutus, muutus ka kõik, mida test pärast seda valis. Kirjutage täheldatud väljumine iga tulemuse kõrvale ja segadus kaob suuresti.
Aeglane algus lõpeb pärast enamiku lühikeste testide lõppu
TCP-ühendus ei alga lingi kiirusel. See algab väikese ummikuaknaga, kahekordistab seda umbes iga ringreisi järel ja jõuab tee mahutavuseni alles mitme ringreisi järel. Kõrge latentsusega teel võib kümnesekundiline test veeta märkimisväärse osa oma elust selles tõusus.
Seetõttu saab suurema latentsusega tunnel lühikeses testis halvema tulemuse, kui ta väärib, ja seetõttu teatab pikem jooks sageli suurema numbri ilma igasuguse konfiguratsiooni muutuseta. RFC 6349 läbilaskevõime raamistik käsitleb seda selgesõnaliselt, ja seetõttu kestavad tõsised mõõtmised piisavalt kaua, et jõuda püsivasse olekusse. Viiesekundiline jooks satelliitteel mõõdab kiirendit, mitte teed.
Vaadake ühenduse faase, selle asemel et usaldada üht numbrit. Curl teatab igast etapist eraldi, nii et näete, kas aeg läheb kätlusesse, tõususse või ülekandesse:
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
Käivitage see kaks korda järjest samale sihtkohale. Kui teine jooks on palju kiirem, mõõtsite tõusu, mitte teed, ja iga võrdlus, mis kasutas ainult esimest jooksu, on kahtlane.
Üks voog ja kuus voogu mõõdavad erinevaid asju
Üksik TCP voog on piiratud aknaga, mida see suudab lennus hoida, mis on ligikaudu ringreisi aeg korrutatud kiirusega. Pikal teel ületab see korrutis selle, mida üks voog kasutab, seega üks allalaadimine alahindab olemasolevat mahutavust. Kuus paralleelset voogu täidavad lünka ja annavad suurema numbri.
iperf3 -c speed.example.net -t 20
iperf3 -c speed.example.net -t 20 -P 6
mtr -rwc 50 speed.example.net
Mõlemad numbrid on tõesed. Ühe voo number ütleb, mida üks allalaadimine teeb, mille brauseri vahekaart tavaliselt saab. Paralleelne number ütleb, mida tee kokku kanda suudab, mida saab kasutada torrent või mitmeosaline allalaadimine. Ühte teise pähe tsiteerida on viis, kuidas terve tunnel ilma põhjuseta välja vahetatakse.
Paralleelse tulemuse võrdlemine ühe voo tulemusega on kõige tavalisem viis, kuidas inimesed jõuavad järeldusele, et VPN poolitas nende kiiruse. Sobitage meetod ja alles siis võrrelge. Kolmanda käsu jälg lisab puuduva konteksti: suure jitteriga tee annab mõlemas režiimis ebajärjekindlaid tulemusi ja ükski voogude arv ei paranda seda.
Krüpteerimine maksab protsessori aega, kapseldamine maksab baite
Igal paketil töötab kaks mehhanismi, olenemata sellest, kui kiire link on. Krüpteerimine kulutab protsessorit baidi kohta ja kapseldamine lisab päisebaite, mida link peab ikkagi kandma. Mõlemad ilmnevad ülempiirina ja neil on erinevad sümptomid.
Protsessori ülempiir ilmub platoona: läbilaskevõime lakkab kasvamast, ükskõik kui palju vooge lisate, ja masina protsessor on hõivatud, samal ajal kui link ei ole. Väikesel ruuteril või telefonis on see sageli tegelik piir, ja seetõttu võib kiire liin siiski anda tagasihoidliku tunneli.
Baidikulu on väiksem, kuid püsiv. Lisapäised tähendavad vähem kasulikku koormust paketi kohta ja fikseeritud maksimaalse edastusühikuga teel võivad need põhjustada ka fragmenteerimist või musta auku, mis ilmneb suurte ülekannete puhul tõrkena, mitte aeglase keskmisena.
| Observation | Likely mechanism | What to measure |
|---|---|---|
| Throughput flat as streams increase | CPU per packet on one core | Per-core utilisation during the test |
| Fast small transfers, stalled large ones | MTU and fragmentation | Payload size at which it breaks |
| Good average, unusable calls | Queueing delay behind a full buffer | Latency under load |
Neid kolme aetakse sageli segamini, sest kasutajad kirjeldavad neid kõiki kui «VPN on aeglane». Ainult esimene reageerib suuremale masinale, ainult teine reageerib väiksemale MTU-le ja ainult kolmas reageerib järjekordade haldamisele.
Pange meetod kirjesse
Säilitamist väärt tulemus nimetab seadme, juurdepääsuvõrgu, väljumise, mõõtmise serveri, suuna, voogude arvu ja kestuse. Ilma nendeta ei saa kahte numbrit võrrelda, ja ühe numbriga pilet on tegelikult meeleolu.
Hoidke ka halvad jooksud. Sari, kus üks väljumine tekitab iga kord tõrke, on palju informatiivsem kui keskmine, ja tõrked on täpselt see, mida keskmised varjavad.
Seejärel testige seda, mis teile tegelikult korda läheb. Kui eesmärk on suur allalaadimine, laadige fail alla. Kui eesmärk on kõne, mõõtke latentsust koormuse all, mitte tühikäigu läbilaskevõimet, sest tunnel võib kiirustestis hästi hinnata ja ikkagi teha iga koosoleku kuuldamatuks.