Зашто Tor делује спорије од VPN-а: кликови наспрам преузимања
Кашњење Тора и VPN-а погађа различита оптерећења: дијагностикуј заглављену страницу пре него што окривиш пропусност, па мењај једну променљиву по тесту.
Странице које делују заглављено док преузимања иду нормалном брзином описују повратна путовања, а не пропусност. VPN додаје један шифровани скок, а Тор круг додаје неколико, и сваки додатни скок кошта руковање пре него што се помери иједан корисни бајт. Тај трошак се види на страници која отвара много кратких веза и готово нестаје при једном великом преносу. Кад образац постане видљив, расправа престаје да буде о томе који је алат бржи.
Симптом упућује на трошак постављања, а не на капацитет
Учитавање странице је ланац зависних размена: тражење имена, транспортно руковање, TLS руковање, па први захтев. Сваки скок на путу убацује своје повратно путовање у тај ланац пре него што се било шта исцрта. Велико преузимање плаћа исти трошак постављања једном и затим струји, и управо зато се два оптерећења разилазе.
Читај у мрежном панелу време проведено у чекању пре првог бајта, а не укупно. Дуго чекање с кратким преузимањем садржаја упућује на повратна путовања, док дуго преузимање с кратким чекањем упућује на пропусност. Понови према другом одредишту, јер један хост иза заузетог релеја ништа не доказује. Кад је пренос добар а клик спор, сумњај на трошак постављања много пре него на пропусност.
Кашњење и капацитет посрћу на различите начине
Узми два очитавања и већина забуне се сама реши. Латентност је фиксни трошак по размени, а капацитет је брзина кроз време, па један пут може бити добар у првом и лош у другом. Удаљена крајња тачка с беспосленим процесором брзо одговара на мали захтев и ипак ограничава трајни пренос на оно што њен узлазни канал допушта. Корисници тај расцеп доживљавају као брз клик након којег следи трака напретка која једва мрда.
Тестирај капацитет трајним преносом и гледај да ли се брзина држи стабилно или тестерасто. Тестирај латенцију малим захтевом поновљеним много пута и читај распршење уместо најбољег узорка, јер широко распршење делује горе него што његов просек сугерише. Забележи оба броја пре и после сваке промене, иначе ћеш касније приписати заслугу погрешној променљивој.
Третирање двају као једног броја производи поправке које никад не померају мерење до којег ти је стало. То је најчешћи начин да се жалба на латенцију одговори надоградњом пропусности.
Onion рутирање додаје скокове које ниси одабрао
Тор круг обично користи три релеја — чувара, средњи чвор и излаз — а клијент их бира из консензуса, не с мапе. Пут зато може бити много дужи од праве линије до одредишта. Сваки релеј носи и туђи саобраћај, па твој ток дели онај капацитет који је том релеју остао.
Поновно коришћење круга ублажава трошак, јер нови ток може јахати на постојећем кругу уместо да плаћа још једну изградњу. Клијент који гради свеж круг за сваки захтев плаћа трошак постављања изнова и делује много горе од оног који га користи поново. Избор излаза је такође важан, јер неки излази носе тежи терет и ништа у сучељу ти не каже на који си слетео. То дељење је смисао дизајна и разлог зашто се латенција не може подесити на фиксну вредност, па је један спор излаз слаб разлог за напуштање таквог распореда.
Промена редоследа ланца мења експеримент
VPN прво па Tor друго је другачији експеримент од Тора прво па VPN-а друго. У првом распореду VPN крајња тачка носи цео круг, па твоја приступна мрежа сазнаје само VPN адресу. У другом се VPN веза сама носи унутар луковичастог пута, а излаз види VPN саобраћај. Оба су легитимни дизајни, а поређење било којег с голим VPN-ом мери нешто друго, зато страница пројекта Tor о комбиновању двају то поставља као питање шта покушаваш да сакријеш пре него као питање тајминга.
Држи уређај, приступну мрежу и одредиште фиксним и мењај тачно један елемент између покретања. Премештање сервера, кругова и тестних хостова заједно производи разлику коју нико не може да припише. Запиши шта сваки распоред крије од кога пре него што га оптимизујеш, јер брз ланац који открива оно што си хтео да сакријеш није побољшање.
Поређење које преживи друго покретање
Изабери два или три одредишта која заиста користиш и измери исту интеракцију на сваком, укључујући страницу која вуче много малих ресурса и један велики пренос. Понови цео сет у други сат дана.
Извести медијану и најгори случај уместо најбржег узорка, јер се интерактивни рад процењује по лошим тренуцима. Забележи клијента, крајњу тачку или излаз и да ли је круг или тунел поново коришћен за то покретање. Ако промена побољша медијану а погорша реп, то је размена, а не победа, и одлука хоће ли корисници то приметити јесте права одлука.