Vaš prenos je hiter, zakaj se potem vsak klik zdi počasen?
Velik prenos lahko gre s polno hitrostjo, medtem ko klici in kliki zaostajajo. Merite čas povratne poti, vzdržljivo hitrost in zakasnitev pod obremenitvijo kot tri ločena vprašanja.
Hitro prenesti veliko datoteko in nato ugotoviti, da je vsak klik počasen, ni protislovje. Zmogljivost pove, koliko se lahko premakne na sekundo; čas povratne poti pove, kako dolgo traja izmenjava, preden se zgodi kaj koristnega. Izboljšanje prvega ne naredi ničesar za drugo, drugo pa je tisto, kar človek opazi med tipkanjem, klikanjem ali pogovorom. Merite pritožbo, ne povezave.
Hitra datoteka, počasen klik: dve različni števili
Množični prenos ves čas drži podatke v gibanju, zato lahko poroča o zdravi hitrosti tudi, ko vsaka posamezna zahteva čaka. Številni testi odprejo tudi več povezav hkrati, kar poveča skupno število, medtem ko ena zahteva ostaja počasna. Rezultata sta združljiva, citiranje višjega uporabniku, ki se pritožuje nad zakasnitvijo, pa je pot do izgube zaupanja.
Nalaganje strani je veriga majhnih izmenjav: razreševanje imen, vzpostavitev povezave, zahteva, odgovor in nato odvisne zahteve. Vsak korak znova plača povratno pot, zato se pot z veliko zakasnitvijo zdi počasna, tudi ko ima obilo zmogljivosti.
Tunel doda svojo pot in obdelavo, pot pa je pomembnejša od oznake na zemljevidu. Dva izhoda v isti državi imata lahko zelo različne poti do enega cilja. Razlika dvajsetih milisekund zadošča, da spremeni občutek strani, čeprav številke prepustnosti skoraj ne premakne. Zato naj izbira izhoda sledi vzorcu zakasnitve in ne ikoni zastave.
Merite pritožbo, ne povezave
Izberite meritev, ki ustreza stavku, ki ga je uporabnik izrekel. Počasen prenos potrebuje vzdržljivo hitrost v pravi smeri; klic, ki zatika, potrebuje statistiko te aplikacije; stran, ki se začne počasi, potrebuje čase razreševanja in vzpostavitve.
ping -c 20 10.60.0.5
curl -sS -o /dev/null -w 'ttfb=%{time_starttransfer} rate=%{speed_download}\n' https://files.plant.example/1gb.bin
iperf3 -c 10.60.0.5 -t 10 -P 4Prvi ukaz da vzorec povratne poti do gostitelja, ki odgovarja predvidljivo, drugi poroča čas do prvega bajta in vzdržljivo hitrost ene povezave, tretji pa meri skupno prepustnost s štirimi vzporednimi tokovi. Zaženite jih proti istemu cilju ob istem času dneva, kajti primerjava jutranjega vzorca z večernim ustvari zgodbo, ne meritve.
Pri primerjanju izhodov držite cilj fiksno. Spreminjanje strežnika in tunela hkrati spremeni eno spremenljivko v dve, rezultat pa vam ne more povedati, katera je bila pomembna. Zaženite vsak izhod vsaj trikrat, ker posamezen vzorec pogosto pade med spremembo usmerjanja ali hrupno minuto. Mediana je uporabnejša od najboljšega primera.
Obravnavajte ICMP kot namig in ne kot odgovor. Gostitelj, ki odgovarja, lahko obdeluje odmevne zahteve po drugi poti, kot je tista, ki jo uporablja vaša aplikacija, in en izgubljen odgovor ni dokaz, da vsaka aplikacija izgublja pakete.
Zakasnitev pod obremenitvijo je težava čakalne vrste
Vzorec, ki ljudi najbolj zmede, je povezava, ki se v mirovanju zdi dobra in med varnostnim kopiranjem neuporabna. To je čakalna vrsta, ne zmogljivost. Nasičen izhodni kanal zgradi medpomnilnik pred vsakim drugim paketom, zato pritisk tipke čaka za delom nalaganja.
ping -c 20 10.60.0.5 & iperf3 -c 10.60.0.5 -t 20 -R -b 20M
Prvi ukaz vzorči zakasnitev v ozadju, medtem ko drugi nasiči nasprotno smer. Če časi ping med prenosom poskočijo in si nato opomorejo, ste poustvarili bufferbloat, namesto da bi odkrili napako usmerjanja. Popravek je običajno nastavitev upravljanja čakalne vrste, nižja hitrost v ozadju ali premik množičnega prenosa s interaktivne poti.
Zmanjšanje izbirnega prometa v ozadju pogosto pomaga bolj kot menjava izhodne države. Je tudi cenejše, reverzibilno in preverljivo v minuti. Velike prenose načrtujte izven delovnega časa, če čakalne vrste ni mogoče upravljati, in omejite njihovo hitrost, če morajo teči podnevi. Nastavitev upravljanja čakalne vrste je boljši popravek, ko jo usmerjevalnik podpira.
Spremenite eno stvar in primerjajte enako z enakim
Pri veliki zakasnitvi v mirovanju primerjajte izhode s fiksnim ciljem, nato primerjajte poti za najboljšega kandidata. Pri nizki stabilni prepustnosti raje poglejte zmogljivost, obremenitev strežnika in obdelavo odjemalca, ker so to drugačne meje.
Zapišite, kaj ste merili, proti kateremu cilju, ob katerem času in s katerimi nastavitvami. Primerjave brez teh štirih dejstev ni mogoče ponoviti, naslednja oseba pa bo začela od nič.
Nato prilagodite orodje trditvi v zahtevi. "Počasen internet" ni meritev; "prvi bajt je trajal 900 ms do tega gostitelja, medtem ko je bila prepustnost dobra" je meritev in kaže neposredno na zakasnitev, ne na zmogljivost.