Acceleration av dynamisk webbplats via Azure CDN
I och med explosionen av sociala medier, elektronisk handel och den hyperanpassade webben genereras en snabbt ökande procentandel av innehållet till slutanvändarna i realtid. Användarna förväntar sig en snabb, tillförlitlig och personlig webbupplevelse, oberoende av webbläsare, plats, enhet eller nätverk. Men själva innovationerna som gör dessa upplevelser så engagerande också långsamma sidnedladdningar och sätter kvaliteten på konsumentupplevelsen i fara.
Cdn-funktionen (Standard Content Delivery Network) innehåller möjligheten att cachelagrar filer närmare slutanvändarna för att påskynda leveransen av statiska filer. Men med dynamiska webbprogram går det inte att cachelagra innehållet på gränsenheter eftersom servern genererar innehållet som svar på användarbeteendet. Att påskynda leveransen av sådant innehåll är mer komplext än traditionell gränscachelagring och kräver en lösning från slutpunkt till slutpunkt som finjusterar varje element på hela datavägen från start till leverans. Med Azure CDN DSA-optimering (dynamic site acceleration) förbättras prestandan för webbsidor med dynamiskt innehåll mätbart.
Azure CDN från Akamai och Azure CDN från Verizon erbjuder båda DSA-optimering via menyn Optimerad för när slutpunkten skapas. Acceleration av dynamisk webbplats från Microsoft erbjuds via Azure Front Door Service.
Viktigt
För Azure CDN från Akamai-profiler kan du ändra optimeringen av en CDN-slutpunkt när den har skapats.
För Azure CDN från Verizon-profiler kan du inte ändra optimeringen av en CDN-slutpunkt när den väl har skapats.
CDN-slutpunktskonfiguration för att påskynda leveransen av dynamiska filer
Om du vill konfigurera en CDN-slutpunkt för att optimera leveransen av dynamiska filer kan du antingen använda Azure Portal, REST-API:er eller någon av klient-SDK:erna för att göra samma sak programmatiskt.
Så här konfigurerar du en CDN-slutpunkt för DSA-optimering med hjälp av Azure Portal:
På CDN-profilsidan väljer du Slutpunkt.
Fönstret Lägg till slutpunkt visas.
Under Optimerad för väljer du Dynamisk webbplatsacceleration.
För Sökväg för avsökning anger du en giltig sökväg till en fil.
Sökvägen till avsökningen är en funktion som är specifik för DSA och en giltig sökväg krävs för att skapa. DSA använder en liten sökvägsfil för avsökning som placeras på ursprungsservern för att optimera konfigurationer för nätverksroutning för CDN. För sökvägsfilen för avsökningen kan du ladda ned och ladda upp exempelfilen till din webbplats, eller använda en befintlig tillgång på ursprunget som är ungefär 10 kB stort.
Ange de andra nödvändiga slutpunktsalternativen (mer information finns i Skapa en ny CDN-slutpunkt) och välj sedan Lägg till.
När CDN-slutpunkten har skapats tillämpas DSA-optimeringarna för alla filer som matchar vissa villkor.
Så här konfigurerar du en befintlig slutpunkt för DSA (endast Azure CDN från Akamai-profiler):
Viktigt
Azure CDN från Akamai är schemalagd att dras tillbaka den 31 oktober 2023. Mer information finns i Migrera CDN-provider för vägledning om migrering till en annan Azure CDN-provider.
På CDN-profilsidan väljer du den slutpunkt som du vill ändra.
Välj Optimering i den vänstra rutan.
Sidan Optimering visas.
Under Optimerad för väljer du Dynamisk webbplatsacceleration och sedan Spara.
Anteckning
DSA medför extra avgifter. Mer information finns i Prissättning för Content Delivery Network.
DSA-optimering med Azure CDN
Acceleration av dynamisk webbplats på Azure CDN påskyndar leveransen av dynamiska tillgångar med hjälp av följande tekniker:
- Vägoptimering
- TCP-optimeringar
- Objektprefetch (endast Azure CDN från Akamai)
- Komprimering av anpassningsbar bild (endast Azure CDN från Akamai)
Vägoptimering
Ruttoptimering är viktigt eftersom Internet är en dynamisk plats där trafik och tillfälligt avbrott ständigt ändrar nätverkstopologin. BGP (Border Gateway Protocol) är Internets routningsprotokoll, men det kan finnas snabbare vägar via poP-servrar (mellanliggande point of presence).
Vägoptimering väljer den mest optimala vägen till ursprunget så att en webbplats är kontinuerligt tillgänglig och dynamiskt innehåll levereras till slutanvändare via den snabbaste och mest tillförlitliga vägen som möjligt.
Akamai-nätverket använder tekniker för att samla in realtidsdata och jämföra olika sökvägar via olika noder i Akamai-servern, samt standard-BGP-vägen över det öppna Internet för att fastställa den snabbaste vägen mellan ursprunget och CDN-gränsenheten. Dessa tekniker undviker överbelastningspunkter på Internet och långa vägar.
På samma sätt använder Verizon-nätverket en kombination av Anycast DNS, poPs med stöd för hög kapacitet och hälsokontroller för att avgöra vilka gatewayer som bäst dirigerar data från klienten till ursprunget.
Därför levereras fullständigt dynamiskt och transaktionellt innehåll snabbare och mer tillförlitligt till slutanvändarna, även när det inte går att hämta.
TCP-optimeringar
Transmission Control Protocol (TCP) är standarden för internetprotokollsviten som används för att leverera information mellan program i ett IP-nätverk. Som standard krävs flera begäranden fram och tillbaka för att konfigurera en TCP-anslutning och begränsningar för att undvika överbelastning i nätverket, vilket resulterar i ineffektivitet i stor skala. Azure CDN från Akamai hanterar det här problemet genom att optimera inom tre områden:
Ta bort långsam TCP-start
Långsam TCP-start är en algoritm i TCP-protokollet som förhindrar överbelastning i nätverket genom att begränsa mängden data som skickas via nätverket. Den börjar med små storlekar på överbelastningsfönster mellan avsändare och mottagare tills det maximala värdet uppnås eller paketförlust identifieras.
Både Azure CDN från Akamai - och Azure CDN från Verizon-profiler eliminerar TCP långsam start med följande tre steg:
Övervakning av hälsotillstånd och bandbredd används för att mäta bandbredden för anslutningar mellan poP-gränsservrar.
Mått delas mellan edge PoP-servrar så att varje server är medveten om nätverksvillkoren och serverhälsan för de andra POP:erna runt dem.
CDN-gränsservrarna gör antaganden om vissa överföringsparametrar, till exempel vad den optimala fönsterstorleken ska vara vid kommunikation med andra CDN-gränsservrar i dess närhet. Det här steget innebär att den första storleken på överbelastningsfönstret kan ökas om hälsotillståndet för anslutningen mellan CDN-gränsservrarna kan överföra paketdata bättre.
Utnyttja beständiga anslutningar
När du använder ett CDN ansluter färre unika datorer direkt till ursprungsservern jämfört med användare som ansluter direkt till ditt ursprung. Azure CDN samlar även användarbegäranden för att upprätta färre anslutningar med ursprunget.
Som tidigare nämnts krävs flera handskakningsbegäranden för att upprätta en TCP-anslutning. Beständiga anslutningar, som implementeras av Keep-Alive
HTTP-huvudet, återanvänder befintliga TCP-anslutningar för flera HTTP-begäranden för att spara tur och retur-tider och påskynda leveransen.
Azure CDN från Verizon skickar också periodiska Keep Alive-paket via TCP-anslutningen för att förhindra att en öppen anslutning stängs.
Justera TCP-paketparametrar
Azure CDN från Akamai justerar de parametrar som styr server-till-server-anslutningar och minskar mängden långdistansresor som krävs för att hämta innehåll som är inbäddat på webbplatsen med hjälp av följande tekniker:
- Öka den första överbelastningsperioden så att fler paket kan skickas utan att vänta på en bekräftelse.
- Minska tidsgränsen för den första återsändningen så att en förlust identifieras och återsändningen sker snabbare.
- Minska den lägsta och högsta tidsgränsen för återöverföring för att minska väntetiden innan vi antar att paket förlorades i överföringen.
Objektprefetch (endast Azure CDN från Akamai)
De flesta webbplatser består av en HTML-sida som refererar till olika andra resurser, till exempel bilder och skript. När en klient begär en webbsida laddar webbläsaren vanligtvis först ned och parsar HTML-objektet och gör sedan fler begäranden till länkade tillgångar som krävs för att läsa in sidan fullständigt.
Prefetch är en teknik för att hämta bilder och skript som är inbäddade på HTML-sidan medan HTML-koden hanteras i webbläsaren och innan webbläsaren ens gör dessa objektbegäranden.
När prefetch-alternativet är aktiverat, den tid då CDN visar HTML-bassidan i klientens webbläsare, parsar CDN HTML-filen och gör fler begäranden för eventuella länkade resurser och lagrar den i cacheminnet. När klienten gör begäranden om de länkade tillgångarna har CDN-gränsservern redan de begärda objekten och kan leverera dem omedelbart utan en tur och retur till ursprunget. Den här optimeringen gynnar både cachebart och icke-cachebart innehåll.
Komprimering av anpassningsbar bild (endast Azure CDN från Akamai)
Vissa enheter, särskilt mobila enheter, har då och då långsammare nätverkshastigheter. I dessa scenarier är det mer fördelaktigt för användaren att få mindre bilder på sin webbsida snabbare i stället för att vänta länge på bilder med full upplösning.
Den här funktionen övervakar automatiskt nätverkskvaliteten och använder JPEG-standardkomprimeringsmetoder när nätverkshastigheterna är långsammare för att förbättra leveranstiden.
Komprimering av anpassningsbar bild | Filnamnstillägg |
---|---|
JPEG-komprimering | .jpg, .jpeg, .jpe, .jig, .jgig, .jgi |
Cachelagring
Med DSA är cachelagring inaktiverat som standard på CDN, även om ursprunget innehåller Cache-Control
eller Expires
rubriker i svaret. DSA används vanligtvis för dynamiska tillgångar som inte ska cachelagras eftersom de är unika för varje klient. Cachelagring kan bryta det här beteendet.
Om du har en webbplats med en blandning av statiska och dynamiska tillgångar är det bäst att använda en hybridmetod för att få bästa möjliga prestanda.
För Azure CDN Standard från Verizon och Azure CDN Standard från Akamai-profiler kan du aktivera cachelagring för specifika DSA-slutpunkter med hjälp av cachelagringsregler.
Så här kommer du åt cachelagringsregler:
Välj Cachelagringsregler under inställningar på CDN-profilsidan.
Sidan Cachelagringsregler öppnas.
Skapa en global eller anpassad cachelagringsregel för att aktivera cachelagring för din DSA-slutpunkt.
Endast för Azure CDN Premium från Verizon-profiler aktiverar du cachelagring för specifika DSA-slutpunkter med hjälp av regelmotorn. Alla regler som skapas påverkar endast de slutpunkter för din profil som är optimerade för DSA.
Så här kommer du åt regelmotorn:
På CDN-profilsidan väljer du Hantera.
CDN-hanteringsportalen öppnas.
I CDN-hanteringsportalen väljer du ADN och sedan Regelmotor.
Du kan också använda två CDN-slutpunkter: en slutpunkt optimerad med DSA för att leverera dynamiska tillgångar och en annan slutpunkt som är optimerad med en statisk optimeringstyp, till exempel allmän webbleverans, för leverans av cachebara tillgångar. Ändra webbsidans URL:er för att länka direkt till tillgången på den CDN-slutpunkt som du planerar att använda.
Till exempel mydynamic.azureedge.net/index.html
är en dynamisk sida och läses in från DSA-slutpunkten. HTML-sidan refererar till flera statiska tillgångar, till exempel JavaScript-bibliotek eller bilder som läses in från den statiska CDN-slutpunkten, till exempel mystatic.azureedge.net/banner.jpg
och mystatic.azureedge.net/scripts.js
.