Sinu allalaadimine on kiire, miks siis iga klõps tundub aeglane?
Suur ülekanne võib liikuda täiskiirusel, samal ajal kui kõned ja klõpsud hilinevad. Mõõtke edasi-tagasi aega, püsivat kiirust ja koormusealust viivitust kolme eraldi küsimusena.
Suure faili kiire allalaadimine ja seejärel iga klõpsu aeglasena tundmine ei ole vastuolu. Mahutavus ütleb, kui palju saab sekundis liikuda; edasi-tagasi aeg ütleb, kui kaua vahetus kestab, enne kui midagi kasulikku juhtub. Esimese parandamine ei tee teise jaoks midagi ja teine on see, mida inimene märkab tippides, klõpsates või rääkides. Mõõtke kaebust, mitte ühendust.
Kiire fail, aeglane klõps: kaks erinevat numbrit
Hulgiedastus hoiab andmeid pidevalt liikumises, seega võib see näidata tervet kiirust ka siis, kui iga üksik päring ootab. Paljud benchmarkid avavad korraga ka mitu ühendust, mis tõstab koondnäitajat, samal ajal kui üks päring jääb aeglaseks. Mõlemad tulemused on ühilduvad ja kõrgema näitaja tsiteerimine kasutajale, kes kaebab hilinemise üle, on viis usalduse kaotamiseks.
Lehe laadimine on väikeste vahetuste ahel: nime lahendamine, ühenduse loomine, päring, vastus ja seejärel sõltuvad päringud. Iga samm maksab edasi-tagasi aja uuesti, seega suure viivitusega tee tundub aeglane ka siis, kui mahutavust on küllaga.
Tunnel lisab oma teekonna ja töötlemise ning marsruut loeb rohkem kui kaardil olev silt. Kahel samas riigis asuval väljapääsul võib olla ühte sihtkohta väga erinev tee. Kahekümne millisekundi suurune erinevus on piisav, et muuta lehe tunnetust, kuigi see liigutab läbilaskevõime numbrit vaevalt. Seetõttu peaks väljapääsu valik järgima latentsuse valimit, mitte lipu ikooni.
Mõõtke kaebust, mitte ühendust
Valige mõõtmine, mis sobib lausega, mille kasutaja ütles. Aeglane allalaadimine vajab püsivat kiirust õiges suunas; hilinev kõne vajab selle rakenduse enda statistikat; aeglaselt käivituv leht vajab nime lahendamise ja ühenduse loomise aegu.
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 4Esimene käsk annab edasi-tagasi valimi hostile, mis vastab ettearvatavalt, teine teatab aja esimese baidini ja ühe ühenduse püsiva kiiruse ning kolmas mõõdab koondläbilaskevõimet nelja paralleelse vooga. Käivitage need sama sihtkoha vastu samal kellaajal, sest hommikuse valimi võrdlemine õhtusega loob loo, mitte mõõtmise.
Hoidke sihtkoht fikseerituna, kui võrdlete väljapääsusid. Nii serveri kui ka tunneli muutmine muudab ühe muutuja kaheks ja tulemus ei suuda öelda, milline oli oluline. Käivitage iga väljapääsu vähemalt kolm korda, sest üksik valim satub sageli marsruudimuutuse või mürahõngulise minuti peale. Mediaan on kasulikum kui parim juhtum.
Käsitlege ICMP-d vihjena, mitte vastusena. Vastav host võib käsitleda kaja päringuid teisel teel kui see, mida teie rakendus kasutab, ja üks kadunud vastus ei ole tõestus, et iga rakendus kaotab pakette.
Koormusealune latentsus on järjekorra probleem
Kõige rohkem ajab inimesi segadusse muster, kus ühendus tundub tühikäigul korras ja varundamise ajal kasutuskõlbmatu. See on järjekord, mitte mahutavus. Küllastunud üleslaadimislink ehitab iga teise paketi ette puhvri, seega klahvivajutus ootab üleslaadimise tüki taga.
ping -c 20 10.60.0.5 & iperf3 -c 10.60.0.5 -t 20 -R -b 20M
Esimene käsk võtab latentsusest taustal valimeid, samal ajal kui teine küllastab vastassuuna. Kui pingi ajad hüppavad ülekande ajal ja taastuvad pärast, olete taastootnud bufferbloat'i, mitte avastanud marsruutimisviga. Parandus on tavaliselt järjekorra haldamise säte, madalam taustakiirus või hulgiedastuse viimine interaktiivselt teelt kõrvale.
Valikulise taustaliikluse vähendamine aitab sageli rohkem kui väljapääsu riigi vahetamine. See on ka odavam, pööratav ja minutiga testitav. Kui järjekorda ei saa hallata, planeerige suured üleslaadimised väljapoole tööaega, ja kui need peavad päeval töötama, piirake nende kiirust. Kui ruuter seda toetab, on järjekorra haldamise säte parem parandus.
Muutke ühte asja ja võrrelge sarnast sarnasega
Suure tühikäiguviivituse korral võrrelge väljapääsusid, hoides sihtkohta fikseerituna, seejärel võrrelge marsruute parima kandidaadi jaoks. Madala püsiva läbilaskevõime korral vaadake hoopis mahutavust, serveri koormust ja kliendi töötlemist, sest need on erinevad piirid.
Kirjutage üles, mida mõõtsite, millise sihtkoha vastu, mis ajal ja milliste sätetega. Ilma nende nelja faktita ei saa võrdlust korrata ja järgmine inimene alustab nullist.
Seejärel sobitage tööriist piletis oleva väitega. "Aeglane internet" ei ole mõõtmine; "esimene bait võttis selle hostini 900 ms, samal ajal kui läbilaskevõime oli hea" on mõõtmine ja osutab otse viivitusele, mitte mahutavusele.