Hvad er en CDN, og har du virkelig brug for en?
CDN bliver kastet rundt, som om alle allerede ved, hvad det betyder. Her er den almindelige engelske version – hvad den gør, hvordan den fungerer, og et ærligt svar på, om dit websted har brug for en.
CDN står for Content Delivery Network, som er et af de navne, der teknisk fortæller dig alt og praktisk talt ikke fortæller dig noget. Så lad os springe akronymet over og tale om det faktiske problem, det løser.
Et CDN er et netværk af servere fordelt på mange byer, der gemmer cachelagrede kopier af dit websted og serverer dem til besøgende fra det sted, der er tættest på dem. I stedet for hver anmodning, der rejser til din enkelt oprindelsesserver, bliver de fleste besvaret af en nærliggende kantserver på få millisekunder - hvilket gør siderne hurtigere, tager belastningen fra din server og holder webstedet Stående, når trafikken stiger.
Det er hele idéen. Alt andet - billedoptimering, firewalls, komprimering, venteværelser - er kapacitet, der blev tilføjet senere, fordi kanten viste sig at være et meget nyttigt sted at sætte ting.
Hvorfor gør afstanden en hjemmeside langsom?
Din hjemmeside ligger på en server et eller andet sted. Sig, det er i Frankfurt. Når nogen i Frankfurt besøger siden, kommer siden hurtigt frem – dataene behøver kun at køre nogle få kilometer. Men når nogen i Sydney besøger os, skal hver anmodning og hvert svar krydse planeten og tilbage igen, flere gange, bare for at indlæse én side. Lyset er hurtigt, men det er ikke øjeblikkeligt, og alle disse rundture giver et sted, der føles trægt på den anden side af verden.
En enkelt anmodning fra Sydney til Frankfurt og tilbage er omkring 300 millisekunder af ren rejsetid. En side kan lave snesevis af disse rundture. Det er her, "langsom" kommer fra - ikke din kode, bare geografi.
De runde ture tilføje op hurtigere end du tror
Det er ikke én rejse. Før en browser overhovedet kan bede om din HTML, skal den løse din DNS, åbne en TCP-forbindelse og forhandle TLS. På en kold forbindelse, der er tre ture, før der anmodes om en enkelt byte af din side. Ved 300 ms hver har en besøgende i Sydney brugt tæt på et sekund på at vente på tilladelse til at begynde at downloade. Derefter kommer HTML, henviser til et stilark og nogle skrifttyper, og hele dansen gentages for dem.
Derfor hjælper et CDN, selv når din server er hurtig. Du kan ikke optimere din vej ud af lysets hastighed. Du kan kun forkorte afstanden.
Hvordan virker en CDN?
Et CDN er et netværk af servere – kaldet kantservere eller PoP’er (point of presence) – spredt ud over mange byer. Når du lægger dit websted bag et CDN, gemmer det cachelagrede kopier af dit indhold på disse kantservere. Nu indlæser den besøgende i Sydney dit websted fra en kantserver i Sydney, ikke fra Frankfurt. Samme sted, en brøkdel af afstanden.
Cache hit, cache miss
Der kan ske to ting, når en anmodning når frem til en edge-server. Hvis kanten allerede har en frisk kopi af det, der blev bedt om, returnerer den det samme - et cachefejllisekunder. Hvis den ikke gør det, henter den indholdet fra din oprindelse, beholder en kopi til næste gang og sender den videre - en cache hiter hele turen til din oprindelse.
Andelen af anmodninger besvaret fra cache er din cache hit ratio, og det er antallet, der bestemmer, hvor meget godt CDN gør dig. Et velkonfigureret statisk sted ligger over 95 %. En dårligt konfigureret person kan sidde ved 40 %, sende det meste af trafikken videre til oprindelsen og undre sig over, hvorfor intet blev hurtigere.
Hvordan ved CDN, hvor en besøgende skal sendes hen?
To fælles tilgange. GeoDNS besvarer DNS-opslag med en anden IP-adresse, afhængigt af hvor forespørgslen ser ud til at komme fra. Anycast annoncerer den samme IP-adresse fra alle steder og lader internetrouting levere pakkerne til den nærmeste. Anycast er generelt mere robust, fordi det ikke afhænger af, at den besøgendes DNS-resolver er i nærheden af den besøgende.
Hvad gør en CDN ud over hastighed?
Hastighed er overskriften, men en CDN gør stille tre andre nyttige ting:
Det er den ene person, der undervurderer. Hvis din fordel besvarer 95 % af alle anmodninger, ser din oprindelse én ud af tyve anmodninger. En server, der kæmpede med 500 besøgende i minuttet, går pludselig i tomgang, og den hostingplan, du var ved at opgradere, er fin, som den er.
Moderne CDN'er også arbejde din oprindelse ellers ville gøre: konvertere billeder til WebP eller AVIF og ændre størrelse på dem på flue, komprimere tekst med Brotli, afslutte TLS tæt på den besøgende, kører en firewall, og holder besøgende i et venteværelse, når et salg kommer ud af hånden.
Hvad en CDN ikke løser
Værd at være klar over, fordi en CDN får skylden for mange ting, den aldrig lovede.
- En langsom database. Hvis hver side har brug for en ny forespørgsel og ikke kan cachelagres, er kanten kun et relæ. Løs forespørgslen.
- Tungt JavaScript. Kanten kan levere dit 2 MB bundt meget hurtigt. Browseren skal stadig analysere og udføre det.
- Uoverkommelige sider. En side, der ikke er i butikkerne, eller en side, der varierer afhængigt af cookie for hver besøgende, vil blive overset hver gang ved hjælp af design.
- Dårlig oppetid for dynamisk indhold. Cachelagret indhold overlever et nedbrud i oprindelsen. Alt, hvad der ikke kan cacheres, gør det ikke.
Har du virkelig brug for en CDN?
rligt svar: Ikke alle gør det. Hvis dit publikum er helt i én by, og du får ti besøgende om dagen, er et CDN en løsning, der leder efter et problem. Men de fleste steder er ikke sådan. Her er en grov guide.
| Din situation | CDN værd? |
|---|---|
| Besøgende i mere end ét land eller område | Ja, ja |
| En onlinebutik, hvor hastigheden påvirker salget | Helt sikkert |
| Sporadiske trafikstød (lanceringer, salg, tryk) | Ja, ja |
| Masser af billeder, videoer eller downloads | Ja, ja |
| Overholdelse af regler om, hvor data leveres fra | Ja vælg dine områder |
| Et lille lokalt sted med en håndfuld besøgende i nærheden | Måske ikke endnu |
Tommelfingerregel: Hvis du nogensinde har tænkt "webstedet føles langsomt for nogle mennesker" eller "Jeg håber det overlever lanceringsdagen", er en CDN den billigste løsning for begge.
Hvordan placerer man et websted bag et CDN?
Opret en zone, der peger på din oprindelse
Du giver CDN din nuværende serveradresse. Intet ændrer sig for de besøgende endnu.
Test på CDN- værtsnavnet
Hver zone får et værtsnavn, du kan indlæse i en browser, før du rører ved DNS. Klik rundt, tjek de sider, der betyder noget, bekræft intet brud.
Peg din DNS på CDN
Et CNAME (eller en post) sender virkelig trafik gennem kanten. Sænk TTL en dag frem, så du hurtigt kan fortryde den, hvis det er nødvendigt.
Hold øje med dit cache-hitforhold
Dette er det tal, der fortæller dig, om det virker. Hvis det er lavt, skal du se på, hvad der sender ikke-cache-overskrifter eller varierer på cookies.
Ofte stillede spørgsmål
Hvad er et CDN i enkle vendinger?
Et CDN-netværk eller Content Delivery Network er en gruppe servere, der er spredt over mange byer, og som indeholder cachelagrede kopier af dit website. Når nogen besøger, bliver de serveret fra den server, der er tættest på dem, i stedet for fra din enkelt oprindelsesserver, hvilket gør webstedet hurtigere og tager trafikbelastningen fra din egen server.
Gør en CDN faktisk en hjemmeside hurtigere?
Ja, af to grunde. Det reducerer de fysiske afstandsdata, der skal rejse, hvilket fjerner det meste af netværkets rundturstid - ofte 100 til 300 millisekunder pr. tur for interkontinentale besøgende. Og den besvarer de fleste anmodninger fra cachen på få millisekunder i stedet for at vente på, at din oprindelsesserver bygger siden. Jo længere væk dine besøgende er, jo større er forskellen.
Har jeg brug for et CDN til en lille hjemmeside?
Ikke altid. Hvis alle dine besøgende er i én by, og trafikken er lav og stabil, tilføjer et CDN lidt. Det bliver det værd, så snart du har besøgende i andre regioner, trafik, der ankommer i bursts, en masse billeder eller downloads, eller en butik, hvor load tid påvirker indtægter. De fleste CDN'er har et gratis niveau, så omkostningerne ved at finde ud af det er tæt på nul.
Hvad er forskellen mellem et CDN og webhosting?
Webhosting er stedet, hvor dit websted rent faktisk bor – oprindelsesserveren, der kører din kode og database. Et CDN sidder foran denne oprindelse og distribuerer cachelagrede kopier af outputtet. Et CDN erstatter ikke hosting; det reducerer, hvor ofte nogen skal nå det. Du har stadig brug for et sted, hvor webstedet kan køre.
Kan en CDN-cache dynamiske sider?
Ja, med omhu. Fuldsides cachelagring af dynamiske websteder virker ved at cachelagre de sider, der er identiske for alle - kataloget, bloggen, hjemmesiden - mens du omgår cachen for personlige sider som indkøbskurv, kassen og konto, Normalt ved at registrere session cookies. Sådan kan et CDN sætte et WordPress- eller WooCommerce-websted bag fuldsidecaching uden at ødelægge noget.
Forbedrer en CDN SEO?
Indirekte og meningsfuldt. Google måler sideoplevelse gennem Core Web Vitals, og en CDN forbedrer Største Contentful Paint ved at betjene dit hovedbillede og HTML fra nærliggende, i moderne formater, hurtigt. Det forbedrer også crawleffektiviteten og reducerer risikoen for, at en crawler rammer en timeout. Det er ikke en direkte rangordningsfaktor i sig selv, men de ting, det forbedrer, er.
Et CDN flytter dit indhold tættere på dine besøgende og fjerner belastningen fra din oprindelse. Det gør de fleste websteder hurtigere og hårdere, og det tager normalt minutter at komme i gang. Hvis dit publikum er spredt ud, eller din trafik er spiky, er det en af de højeste gearing ting, du kan gøre - og antallet at se bagefter er din cache hit ratio.
Den gode nyhed er, at det ikke kræver en migration eller en omskrivning at prøve det. Peg på en zone på dit eksisterende websted, og du vil se forskellen på den næste sideindlæsning.
Se, hvordan NordicCDN gør dette for dit websted:
Mads har arbejdet med IT – mest som vært – siden han var 16. Han tog tidligt ejerskab i en SaaS-virksomhed og var med til at udvide den til Visma, har opbygget og drevet datacenternetværk og fungeret som CTO for et dansk datacenter. Han startede NordicCDN for at gøre hurtig og sikker infrastruktur enkel at bruge.