Zakaj se Tor zdi počasnejši od VPN: kliki proti prenosom
Zamuda Tor in VPN zadene različne delovne obremenitve: diagnosticirajte zataknjeno stran, preden obtožite pasovno širino, nato spreminjajte eno spremenljivko na test.
Strani, ki se zdijo zataknjene, medtem ko prenosi tečejo z običajno hitrostjo, opisujejo potovanja tja in nazaj, ne pasovne širine. VPN doda en šifriran skok, krog Tor pa več, in vsak dodatni skok stane rokovanje, preden se premakne en sam uporaben bajt. Ta strošek je viden na strani, ki odpre veliko kratkih povezav, in skoraj izgine pri enem velikem prenosu. Ko vzorec postane viden, razprava ni več o tem, katero orodje je hitrejše.
Simptom kaže na strošek nastavitve, ne na zmogljivost
Nalaganje strani je veriga odvisnih izmenjav: iskanje imena, transportno rokovanje, rokovanje TLS, nato prva zahteva. Vsak skok na poti vstavi svoje potovanje tja in nazaj v to verigo, preden se karkoli izriše. Velik prenos plača isti strošek nastavitve enkrat in nato teče, in prav zato se obremenitvi ne ujemata.
V omrežni plošči berite čas čakanja pred prvim bajtom, ne skupnega. Dolgo čakanje s kratkim prenosom vsebine kaže na potovanja tja in nazaj, medtem ko dolg prenos s kratkim čakanjem kaže na prepustnost. Ponovite proti drugemu cilju, ker en gostitelj za zasedenim relejem ničesar ne dokaže. Ko je prenos v redu in je klik počasen, sumite na strošek nastavitve veliko prej kot na pasovno širino.
Zamuda in zmogljivost odpovedujeta na različne načine
Vzemite dve meritvi in večina zmede se razreši sama. Zakasnitev je fiksen strošek na izmenjavo, zmogljivost pa je hitrost skozi čas, zato je lahko ena pot dobra pri prvem in slaba pri drugem. Oddaljena končna točka z nedejavnim procesorjem hitro odgovori na majhno zahtevo in vseeno omeji trajni prenos na tisto, kar dopušča njena povezava navzgor. Uporabniki to razcepitev doživljajo kot hiter klik, ki mu sledi vrstica napredka, ki se komaj premakne.
Zmogljivost preizkusite s trajnim prenosom in opazujte, ali hitrost ostane stabilna ali žagasta. Zakasnitev preizkusite z majhno zahtevo, ponovljeno velikokrat, in berite razpršenost namesto najboljšega vzorca, ker široka razpršenost deluje slabše, kot nakazuje njeno povprečje. Zapišite obe števili pred vsako spremembo in po njej, sicer boste pozneje zasluge pripisali napačni spremenljivki.
Obravnavanje obeh kot ene številke ustvari popravke, ki nikoli ne premaknejo meritve, ki vam je pomembna. To je najpogostejši način, da se pritožba zaradi zakasnitve odgovori z nadgradnjo pasovne širine.
Čebulno usmerjanje doda skoke, ki jih niste izbrali
Krog Tor običajno uporablja tri releje — stražarja, srednje vozlišče in izhod — in odjemalec jih izbere iz soglasja, ne z zemljevida. Pot je zato lahko veliko daljša od ravne črte do cilja. Vsak rele nosi tudi promet drugih, zato vaš tok deli zmogljivost, ki je na njem ostala.
Ponovna uporaba kroga ublaži strošek, ker lahko nov tok jaha na obstoječem krogu, namesto da bi plačal še eno gradnjo. Odjemalec, ki za vsako zahtevo zgradi svež krog, plačuje nastavitev znova in znova in deluje veliko slabše od tistega, ki uporablja ponovno. Tudi izbira izhoda šteje, ker nekateri izhodi nosijo težje breme in nič v vmesniku vam ne pove, na katerega ste pristali. Ta delitev je smisel zasnove in razlog, da zakasnitve ni mogoče nastaviti na fiksno vrednost, zato je en počasen izhod slab razlog za opustitev te ureditve.
Sprememba vrstnega reda verige spremeni poskus
Najprej VPN in nato Tor je drugačen poskus kot najprej Tor in nato VPN. V prvi ureditvi končna točka VPN nosi celoten krog, zato vaše dostopovno omrežje spozna le naslov VPN. V drugi je sama povezava VPN nošena znotraj čebulne poti in izhod vidi promet VPN. Obe sta legitimni zasnovi, in primerjanje katere koli z golo VPN meri nekaj drugega, zato stran projekta Tor o kombiniranju obeh to zastavi kot vprašanje, kaj poskušate skriti, preden postane vprašanje časa.
Držite napravo, dostopovno omrežje in cilj nespremenjene, med zagoni pa spremenite natanko en element. Premikanje strežnikov, krogov in testnih gostiteljev hkrati ustvari razliko, ki je nihče ne more pripisati. Zapišite, kaj vsaka ureditev pred kom skriva, preden jo optimizirate, ker hitra veriga, ki razkrije tisto, kar ste želeli skriti, ni izboljšava.
Primerjava, ki preživi drugi zagon
Izberite dva ali tri cilje, ki jih res uporabljate, in izmerite isto interakcijo na vsakem, vključno s stranjo, ki vleče veliko majhnih virov, in enim velikim prenosom. Ponovite celoten niz ob drugi uri dneva.
Poročajte o mediani in najslabšem primeru namesto o najhitrejšem vzorcu, ker se interaktivno delo ocenjuje po slabih trenutkih. Zabeležite odjemalca, končno točko ali izhod in ali je bil krog ali tunel za ta zagon ponovno uporabljen. Če sprememba izboljša mediano, a poslabša rep, je to menjava in ne zmaga, in odločitev, ali bodo uporabniki to opazili, je prava odločitev.