Dela via


Optimering av stora filnedladdningar med Azure Content Delivery Network

Filstorlekarna på innehåll som levereras via Internet fortsätter att växa på grund av förbättrade funktioner, förbättrad grafik och omfattande medieinnehåll. Denna tillväxt drivs av många faktorer: bredbandspenetrering, större billiga lagringsenheter, utbredd ökning av högupplöst video och Internetanslutna enheter (IoT). En snabb och effektiv leveransmekanism för stora filer är avgörande för att säkerställa en smidig och trevlig konsumentupplevelse.

Leverans av stora filer har flera utmaningar. För det första kan den genomsnittliga tiden för att ladda ned en stor fil vara betydande eftersom program kanske inte laddar ned alla data sekventiellt. I vissa fall kan program ladda ned den sista delen av en fil före den första delen. När endast en liten del av en fil begärs eller en användare pausar en nedladdning kan nedladdningen misslyckas. Nedladdningen kan också fördröjas tills innehållsleveransnätverket hämtar hela filen från ursprungsservern.

För det andra avgör svarstiden mellan en användares dator och filen hur snabbt de kan visa innehåll. Dessutom påverkar nätverksbelastning och kapacitetsproblem även dataflödet. Större avstånd mellan servrar och användare skapar fler möjligheter för paketförlust, vilket minskar kvaliteten. Kvalitetsminskningen som orsakas av begränsat dataflöde och ökad paketförlust kan öka väntetiden för att en filnedladdning ska slutföras.

För det tredje levereras inte många stora filer i sin helhet. Användare kan avbryta en nedladdning halvvägs eller bara titta på de första minuterna av en lång MP4-video. Därför vill programvaru- och medieleveransföretag endast leverera den del av en fil som begärs. Effektiv distribution av de begärda delarna minskar utgående trafik från ursprungsservern. Effektiv distribution minskar också minnes- och I/O-trycket på ursprungsservern.

Optimera för leverans av stora filer med Azure Content Delivery Network från Microsoft

Azure CDN Standard från Microsoft-slutpunkter levererar stora filer utan ett tak för filstorleken. Extra funktioner aktiveras som standard för att göra leveransen av stora filer snabbare.

Objektsegmentering

Azure CDN Standard från Microsoft använder en teknik som kallas objektsegmentering. När en stor fil begärs hämtar nätverket för innehållsleverans mindre delar av filen från ursprunget. När POP-servern för innehållsleveransnätverket har fått en fullständig filbegäran eller byteintervall begär nätverksgränsservern för innehållsleverans filen från ursprunget i segment på 8 MB.

När segmentet kommer till nätverksgränsen för innehållsleverans cachelagras det och hanteras omedelbart till användaren. Innehållsleveransnätverket förinstallerar sedan nästa segment parallellt. Den här prefetchen säkerställer att innehållet ligger ett segment före användaren, vilket minskar svarstiden. Den här processen fortsätter tills hela filen laddas ned (om det begärs), alla byteintervall är tillgängliga (om det begärs) eller så avslutar klienten anslutningen.

Mer information om byteintervallbegäran finns i RFC 7233.

Nätverket för innehållsleverans cachelagrar eventuella segment när de tas emot. Hela filen behöver inte cachelagras i innehållsleveransnätverkets cacheminne. Efterföljande begäranden för filen eller byteintervallen hanteras från nätverkscachen för innehållsleverans. Om inte alla segment cachelagras i nätverket för innehållsleverans används prefetch för att begära segment från ursprunget. Den här optimeringen bygger på ursprungsserverns förmåga att stödja byteintervallbegäranden. Om ursprungsservern inte stöder byteintervallbegäranden misslyckas begäranden om att ladda ned data som är större än 8 MB.

Villkor för optimering av stora filer

Det finns inga gränser för maximal filstorlek.

Stöd för segmenterad överföringskodning

Microsofts nätverk för innehållsleverans stöder överföringskodningssvar, men endast upp till en maximal innehållsstorleksgräns på 8 MB. När det gäller segmenterade överföringskodade svar som överstiger 8 MB cachelagrar Microsofts nätverk för innehållsleverans endast och hanterar de första 8 MB innehållet.

Optimera för leverans av stora filer med Azure Content Delivery Network från Edgio

Azure CDN Standard från Edgio och Azure CDN Premium från Edgio-slutpunkter levererar stora filer utan ett tak för filstorleken. Fler funktioner aktiveras som standard för att göra leveransen av stora filer snabbare.

Fullständig cachefyllning

Standardfunktionen fullständig cachefyllning gör att nätverket för innehållsleverans kan hämta en fil till cacheminnet när en första begäran avbryts eller förloras.

Fullständig cachefyllning är mest användbar för stora tillgångar. Normalt laddar användarna inte ned dem från början till slut. De använder progressiv nedladdning. Standardbeteendet tvingar kantservern att initiera en bakgrundshämtning av tillgången från ursprungsservern. Därefter finns tillgången i gränsserverns lokala cacheminne. När det fullständiga objektet finns i cacheminnet uppfyller gränsservern byteintervallbegäranden till innehållsleveransnätverket för det cachelagrade objektet.

Standardbeteendet kan inaktiveras via regelmotorn i Azure CDN Premium från Edgio.

Peer cache fill hot-filing

Standard-peer-cachen fyller funktionen för frekvent arkivering med en sofistikerad proprietär algoritm. Den använder extra gränscachelagringsservrar baserat på mått för bandbredd och aggregerade begäranden för att uppfylla klientbegäranden för stora, mycket populära objekt. Den här funktionen förhindrar en situation där ett stort antal extra begäranden skickas till en användares ursprungsserver.

Villkor för optimering av stora filer

Stora filoptimeringsfunktioner för Azure CDN Standard från Edgio och Azure CDN Premium från Edgio aktiveras som standard när du använder den allmänna optimeringstypen för webbleverans. Det finns inga gränser för maximal filstorlek.

Övriga beaktanden

Tänk på följande aspekter för den här optimeringstypen:

  • Segmenteringsprocessen genererar fler begäranden till ursprungsservern. Den totala mängden data som levereras från ursprunget är dock mindre. Segmentering ger bättre cachelagringsegenskaper i nätverket för innehållsleverans.

  • Minnes- och I/O-trycket minskas vid ursprunget eftersom mindre delar av filen levereras.

  • För segment som cachelagras i nätverket för innehållsleverans finns det inga andra begäranden till ursprunget förrän innehållet upphör att gälla eller tas bort från cacheminnet.

  • Användare kan göra intervallbegäranden till innehållsleveransnätverket, som behandlas som alla normala filer. Optimering gäller endast om det är en giltig filtyp och byteintervallet är mellan 10 MB och 150 GB. Om den begärda genomsnittliga filstorleken är mindre än 10 MB använder du allmän webbleverans i stället.