Latauksesi on nopea, miksi sitten jokainen klikkaus tuntuu hitaalta?
Suuri siirto voi kulkea täydellä nopeudella, kun taas puhelut ja klikkaukset viivästyvät. Mittaa edestakainen aika, kestävä nopeus ja kuormituksen aikainen viive kolmena erillisenä kysymyksenä.
Ison tiedoston lataaminen nopeasti ja sitten jokaisen klikkauksen kokeminen hitaaksi ei ole ristiriita. Kapasiteetti kertoo, kuinka paljon voi liikkua sekunnissa; edestakainen aika kertoo, kuinka kauan vaihto kestää ennen kuin jotain hyödyllistä tapahtuu. Ensimmäisen parantaminen ei tee toiselle mitään, ja toinen on se, minkä ihminen huomaa kirjoittaessaan, klikatessaan tai puhuessaan. Mittaa valitusta, älä yhteyttä.
Nopea tiedosto, hidas klikkaus: kaksi eri lukua
Joukkosiirto pitää tiedot jatkuvasti liikkeessä, joten se voi raportoida terveen nopeuden, vaikka jokainen yksittäinen pyyntö odottaisi. Monet benchmarkit avaavat myös useita yhteyksiä kerralla, mikä nostaa kokonaislukua samalla kun yksi pyyntö pysyy hitaana. Molemmat tulokset ovat yhteensopivia, ja korkeamman luvun lainaaminen viiveestä valittavalle käyttäjälle on tapa menettää luottamus.
Sivun lataus on ketju pieniä vaihtoja: nimen selvitys, yhteyden muodostus, pyyntö, vastaus ja sitten riippuvat pyynnöt. Jokainen vaihe maksaa edestakaisen ajan uudelleen, joten suuren viiveen polku tuntuu hitaalta, vaikka kapasiteettia olisi runsaasti.
Tunneli lisää oman matkansa ja käsittelynsä, ja reitti merkitsee enemmän kuin kartan merkintä. Kahdella saman maan ulostulolla voi olla hyvin erilaiset polut yhteen kohteeseen. Kahdenkymmenen millisekunnin ero riittää muuttamaan sivun tuntua, vaikka se hädin tuskin liikuttaa läpäisylukua. Siksi ulostulon valinnan pitäisi seurata latenssinäytettä eikä lippukuvaketta.
Mittaa valitusta, älä yhteyttä
Valitse mittaus, joka vastaa käyttäjän sanomaa lausetta. Hidas lataus tarvitsee kestävän nopeuden oikeaan suuntaan; viivästyvä puhelu tarvitsee kyseisen sovelluksen omat tilastot; hitaasti käynnistyvä sivu tarvitsee nimen selvityksen ja yhteyden muodostuksen ajat.
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 4Ensimmäinen komento antaa edestakaisen näytteen isäntään, joka vastaa ennustettavasti, toinen raportoi ajan ensimmäiseen tavuun ja yhden yhteyden kestävän nopeuden, ja kolmas mittaa kokonaisläpäisyn neljällä rinnakkaisella virralla. Aja ne samaan kohteeseen samaan vuorokaudenaikaan, koska aamunäytteen vertaaminen iltanäytteeseen tuottaa tarinan eikä mittausta.
Pidä kohde kiinteänä, kun vertailet ulostuloja. Sekä palvelimen että tunnelin muuttaminen tekee yhdestä muuttujasta kaksi, eikä tulos voi kertoa, kumpi oli merkityksellinen. Aja jokainen ulostulo vähintään kolme kertaa, koska yksittäinen näyte osuu usein reititysmuutokseen tai meluisaan minuuttiin. Mediaani on hyödyllisempi kuin paras tapaus.
Käsittele ICMP:tä vihjeenä, älä vastauksena. Vastaava isäntä voi käsitellä kaikupyynnöt eri polulla kuin se, jota sovelluksesi käyttää, eikä yksi kadonnut vastaus ole todiste siitä, että jokainen sovellus hukkaa paketteja.
Kuormituksen aikainen latenssi on jonotusongelma
Eniten ihmisiä hämmentävä kuvio on yhteys, joka tuntuu hyvältä tyhjänä ja käyttökelvottomalta varmuuskopioinnin aikana. Se on jonoa, ei kapasiteettia. Kyllästetty ylälinkki rakentaa puskurin jokaisen muun paketin eteen, joten näppäimen painallus odottaa latauksen osan takana.
ping -c 20 10.60.0.5 & iperf3 -c 10.60.0.5 -t 20 -R -b 20M
Ensimmäinen komento näytteistää latenssia taustalla, kun taas toinen kyllästää vastakkaisen suunnan. Jos ping-ajat hyppäävät siirron aikana ja palautuvat sen jälkeen, olet toistanut bufferbloatin sen sijaan, että olisit löytänyt reititysvian. Korjaus on yleensä jononhallinta-asetus, matalampi taustanopeus tai joukkosiirron siirtäminen pois interaktiiviselta polulta.
Valinnaisen taustaliikenteen vähentäminen auttaa usein enemmän kuin ulostulomaan vaihtaminen. Se on myös halvempaa, peruttavissa ja testattavissa minuutissa. Ajoita suuret lataukset työajan ulkopuolelle, jos jonoa ei voi hallita, ja rajoita niiden nopeutta, jos niiden on pakko kulkea päivällä. Jononhallinta-asetus on parempi korjaus, kun reititin tukee sellaista.
Muuta yhtä asiaa ja vertaa samaa samaan
Suurelle tyhjäkäyntiviiveelle vertaa ulostuloja pitäen kohde kiinteänä ja vertaa sitten reittejä parhaalle ehdokkaalle. Matalalle vakaalle läpäisylle katso sen sijaan kapasiteettia, palvelimen kuormaa ja asiakkaan käsittelyä, koska ne ovat eri rajoja.
Kirjoita muistiin, mitä mittasit, mitä kohdetta vastaan, mihin aikaan ja millä asetuksilla. Vertailua ilman näitä neljää tosiasiaa ei voi toistaa, ja seuraava henkilö aloittaa nollasta.
Sovita sitten työkalu lipukkeen väitteeseen. "Hidas internet" ei ole mittaus; "ensimmäinen tavu vei 900 ms tähän isäntään, kun läpäisy oli kunnossa" on mittaus, ja se osoittaa suoraan viiveeseen eikä kapasiteettiin.