I fjor under en brukertestingssesjon for BBC News-appen, fikk en av brukerne en kommentar som virkelig har sittende fast med meg. De erklærte: "Jeg liker å flyte". Jeg tror ikke det er et bedre sammendrag av hva ytelsen betyr for våre brukere. På en rask app eller nettside kan brukeren strømme rundt, samhandle og engasjere seg med innholdet.
Flytende opplevelser er også gode for nettstedseiere. En raskt flytende opplevelse hjelper brukerne med å nå sine mål, og i sin tur oppnår vi våre organisasjoneres mål. Amazon og andre har vist den sterke sammenhengen mellom ytelse og brukeraktivitet: Som ventetiden på sider går ned, går hvor mye tid og penger brukeren bruker opp.
Les mer: Nordvpn Review
Caches er opprettet når en liten mengde av noe lagres nærmere hvor det er nødvendig, normalt for å hindre omarbeid. For eksempel, hvis jeg spiser skittler, har jeg en tendens til å helle noen i hånden min og deretter spise derfra. I virkeligheten skaper jeg en cache av skittler i hånden min, da det er raskere å spise dem på den måten enn å gå tilbake til pakken.
Dette samme mønsteret brukes i teknologi. Det er tre caches vi må vurdere:
Caching kan gjøre for en stor prestasjonsforbedring; På BBC har jeg sett caching øker ytelse mer enn 20 ganger i produksjonskode. Det er gunstig for nettstedoperatører også. Med caching kan flere brukere støttes av samme maskinvare. Dette reduserer kostnadene i maskinvare per bruker og reduserer dermed nettstedets driftskostnader.
For å være effektiv, vil vi bruke bufret data så mye som mulig. For å forlenge Skittles analogi, hvis jeg vil ha en blå skittle, men jeg har ikke noen blå skittler i hånden min (aka min cache), jeg må gå tilbake til pakken. Dette er kjent som "Hit Rate". Det er en "hit" når varen er i hurtigbufferen og en "savner" når det ikke er det. Vi ønsker en høy hit rate slik at cachen tar det meste av lasten.
En av de enkleste metodene for å øke hitraten er å redusere variasjonen. Stretching min skittles analogi litt, forestill deg om alle skittler var røde. På den måten ville noen skittle i hånden min være en cache hit; Jeg ville aldri trenge å gå tilbake til pakken. Påfør dette på nettet, hvis vi kan gi samme side til så mange brukere som mulig, blir cachen mer effektiv, da flere forespørsler vil slå hurtigbufferen.
Så det er teorien. La oss bli praktisk. La oss begynne med å se på Caching forespørselen om HTML. Caching av alle filtyper styres ved hjelp av HTTP-overskrifter. Overskriftene er metadata (data om data) sendt fra serveren til nettleseren og synlig for all nettverksmaskinvare i mellom. For å fortelle verden har det tillatelse til å cache våre sider og dele den cachen mellom brukere, mener vi følgende topptekst:
Cache-Control: public, max-age=30
Her har vi også satt en tidsbegrensning: Maksimum tid Cachen bør gjenbruke denne siden for, i løpet av sekunder. For dette eksemplet har jeg satt den til 30 sekunder.
Ved å sette siden til 'Public', vil brukerens nettleser (og hvilken som helst maskinvare underveis) holde en kopi. Så den første sidelasten vil gjøre en forespørsel, men alle siden laster etter det, vil gjenbruke det opprinnelige svaret, til fristen er nådd.
Effekten av nettverksmaskinvare underveis kan være dyp. Mange store nettverk (for eksempel ISPer) vil ha en cache som deles mellom brukere. Mobiloperatører bruker også denne teknikken tungt - for eksempel til cache og rekomprimerer bilder som serveres over 3G. Nettstedoperatører kan også plassere en HTTP-cache foran deres tjeneste. Dette er hva vi har gjort på BBC.
En teknikk vi bruker mye på BBC, er å behandle statiske eiendeler (som bilder, CSS og skript) annerledes på hvordan vi behandler sider. Caching HTML-sider for lenge kan resultere i brukere som mangler innholdsoppdateringer, men vi kan dra nytte av denne oppførselen når det gjelder statiske eiendeler.
På BBC sender vi alle statiske eiendeler med en maksimal alder på 31.536.000 sekunder satt i cache header. Dette sikrer at eiendelene er bufret i 365 dager. I virkeligheten blir eiendeler bare forespurt en gang. Dette er bra for ytelse, men dårlig for fleksibilitet, da endringer i den eiendelen vil ta lang tid å komme til brukeren.
For å kunne jobbe rundt dette, hver gang vi slipper en ny versjon av en side, endrer vi nettadressen der eiendelene holdes. Dette trikset betyr at nye endringer blir satt foran brukere umiddelbart, men vi får fortsatt de samme ytelsesfordelene.
Caching for å forbedre nettstedets ytelse vil igjen redusere driftskostnadene for våre nettsider og bevare brukerens flyt, noe som fører til en flott brukeropplevelse.
Denne artikkelen ble opprinnelig publisert i utgave 279 i Net, verdens bestselgende magasin for webdesignere og utviklere. Kjøpe utgave 279. eller Abonner på netto .
Jason Lengstorf er en utvikler, designer, forfatter og vennlig bjørn. Hans fokus er på effektivitet og ytelse av mennesker, lag og programvare. På IBM skaper han prosesser og systemer for å gjøre det rette den enkle tingen ™. På alle andre ganger vandrer han jorden på jakt etter nye og bedre snacks.
I hans verksted moderne front-end ytelsesstrategier og teknikker på Generer New York fra 25-27 april 2018 Jason vil vise deltakere Hvordan forbedre oppfattede lastetider - hvor lenge det føles som det tar å laste inn en side - så vel som faktiske lastetider, ved hjelp av bare front-end-teknikker, inkludert:
Generer New York finner sted fra 25-27 april 2018. Få din billett nå .
Relaterte artikler:
[1. 3] (Bilde Kreditt: Webdesigner) Å ha et område som lar brukerne logge inn og laste ned eller vise dokumenter, ha..
Det føles bare som i går da jeg var rollespill med videregående venner i Fantasy Worlds full av riddere, veivisere, barbarer og skatter skjult i fangehuller. Som tenåringer, de mest verds..
[1. 3] Denne trinnvise veiledningen er satt til å avsløre hvordan man skal gå om etableringen av realistiske skyer. Denne oppl�..
[1. 3] [1. 3] Trykk på ikonet øverst til høyre for å se det endelige bildet full størrelse ..
En fin måte å ta oppmerksom på - og holde tak i det - er å skape en Nettstedslayout [1. 3] som viser dine talenter fra offen. Ukra..
[1. 3] Aldring Et fotografi i Photoshop er en klassisk teknikk som kan slå en ho-hum, full fargebilde til noe slående. Hvis desi..
[1. 3] Våt-i-våt er en Maleri teknikk som ofte kan forårsake frustrasjon. Denne metoden er hvor ekstra maling bl..
[1. 3] Tammy Everts. vil gi en presentasjon om sammenhengen mellom design, ytelse og konverteringsfrek..