Ottimizzazione del download di file di grandi dimensioni tramite la rete di distribuzione dei contenuti di AzureLarge file download optimization via the Azure Content Delivery Network

Le dimensioni di file dei contenuti distribuiti in Internet continua ad aumentare come conseguenza delle funzionalità avanzate, della grafica migliorata e della complessità dei contenuti multimediali.File sizes of content delivered over the Internet continue to grow due to enhanced functionality, improved graphics, and rich media content. Questa crescita ha origine da numerosi fattori, tra cui la penetrazione della banda larga, dispositivi di archiviazione più grandi ed economici, il diffuso incremento di video in alta definizione e dispositivi connessi a Internet (IoT).This growth is driven by many factors: broadband penetration, larger inexpensive storage devices, widespread increase of high-definition video, and Internet-connected devices (IoT). Un meccanismo di distribuzione veloce ed efficiente per i file di grandi dimensioni è fondamentale per garantire un'esperienza utente uniforme e piacevole.A fast and efficient delivery mechanism for large files is critical to ensure a smooth and enjoyable consumer experience.

La distribuzione di file di grandi dimensioni pone diverse sfide.Delivery of large files has several challenges. In primo luogo, il tempo medio per scaricare un file di grandi dimensioni può essere significativo, in quanto molte applicazioni potrebbero non scaricare tutti i dati in sequenza.First, the average time to download a large file can be significant because applications might not download all data sequentially. In alcuni casi, le applicazioni potrebbero scaricare l'ultima parte di un file prima della prima.In some cases, applications might download the last part of a file before the first part. Quando è necessaria solo una piccola parte di un file o un utente sospende un download, il download può non riuscire.When only a small amount of a file is requested or a user pauses a download, the download can fail. Il download può anche subire ritardi, finché la rete per la distribuzione di contenuti (rete CDN) non recupera l'intero file dal server di origine.The download also might be delayed until after the content delivery network (CDN) retrieves the entire file from the origin server.

In secondo luogo, la latenza tra il computer di un utente e il file determina la velocità a cui l'utente può visualizzare il contenuto.Second, the latency between a user's machine and the file determines the speed at which they can view content. Inoltre, problemi di congestione e capacità di rete possono influire sulla velocità effettiva.In addition, network congestion and capacity problems also affect throughput. Distanze maggiori tra server e utenti creano rischi aggiuntivi di perdita dei pacchetti, riducendo la qualità.Greater distances between servers and users create additional opportunities for packet loss to occur, which reduces quality. La qualità inferiore causata dalla velocità effettiva limitata e dalla crescente perdita di pacchetti può comportare tempi di attesa notevolmente superiori per il completamento del download di un file.The reduction in quality caused by limited throughput and increased packet loss might increase the wait time for a file download to finish.

In terzo luogo, molti file di grandi dimensioni non vengono distribuiti interamente.Third, many large files are not delivered in their entirety. Gli utenti potrebbero annullare un download a metà o guardare solo i primi minuti di un lungo video MP4.Users might cancel a download halfway through or watch only the first few minutes of a long MP4 video. Di conseguenza, per molte aziende di distribuzione di software e contenuti multimediali può essere utile distribuire solo la parte richiesta di un file.Therefore, software and media delivery companies want to deliver only the portion of a file that's requested. Una distribuzione efficiente delle parti richieste riduce il traffico in uscita dal server di origine.Efficient distribution of the requested portions reduces the egress traffic from the origin server. Una distribuzione efficiente riduce anche la pressione in termini di memoria e I/O sul server di origine.Efficient distribution also reduces the memory and I/O pressure on the origin server.

La rete di distribuzione dei contenuti di Azure con tecnologia Akamai offre ora una funzionalità che permette di distribuire in modo efficiente e scalabile file di grandi dimensioni agli utenti di tutto il mondo.The Azure Content Delivery Network from Akamai now offers a feature that delivers large files efficiently to users across the globe at scale. Questa funzionalità riduce le latenze perché riduce il carico sui server di origine.The feature reduces latencies because it reduces the load on the origin servers. Questa funzionalità è disponibile con il piano tariffario Standard di Akamai.This feature is available with the Standard Akamai pricing tier.

Configurare un endpoint di rete CDN per ottimizzare la distribuzione di file di grandi dimensioniConfigure a CDN endpoint to optimize delivery of large files

È possibile configurare l'endpoint di rete CDN per ottimizzare la distribuzione di file di grandi dimensioni tramite il portale di Azure.You can configure your CDN endpoint to optimize delivery for large files via the Azure portal. A tale scopo è anche possibile usare le API REST o qualsiasi SDK client.You can also use our REST APIs or any of the client SDKs to do this. I passaggi seguenti mostrano il processo tramite il portale di Azure.The following steps show the process via the Azure portal.

  1. Per aggiungere un nuovo endpoint, nella pagina Profilo CDN selezionare Endpoint.To add a new endpoint, on the CDN profile page, select Endpoint.

    Nuovo endpoint

  2. Nell'elenco a discesa Ottimizzato per selezionare Download di file di grandi dimensioni.In the Optimized for drop-down list, select Large file download.

    Selezione dell'ottimizzazione per file di grandi dimensioni

Dopo aver creato l'endpoint di rete CDN, a tutti i file che soddisfano determinati criteri viene applicata l'ottimizzazione per file di grandi dimensioni.After you create the CDN endpoint, it applies the large file optimizations for all files that match certain criteria. La sezione seguente descrive questo processo.The following section describes this process.

Ottimizzare la distribuzione di file di grandi dimensioni con la rete di distribuzione dei contenuti di Azure con tecnologia AkamaiOptimize for delivery of large files with the Azure Content Delivery Network from Akamai

La funzionalità di ottimizzazione per file di grandi dimensioni attiva le ottimizzazioni e le configurazioni di rete per consentire la distribuzione di file di grandi dimensioni più rapidamente e tempestivamente.The large file optimization type feature turns on network optimizations and configurations to deliver large files faster and more responsively. La distribuzione Web generica con Akamai memorizza nella cache solo i file con dimensioni inferiori a 1,8 GB e può effettuare il tunneling (senza memorizzazione nella cache) dei file di dimensioni fino a 150 GB.General web delivery with Akamai caches files only below 1.8 GB and can tunnel (not cache) files up to 150 GB. L'ottimizzazione per file di grandi dimensioni memorizza nella cache file di dimensioni fino a 150 GB.Large file optimization caches files up to 150 GB.

Questa ottimizzazione è efficace in determinate condizioni.Large file optimization is effective when certain conditions are satisfied. Le condizioni includono il modo in cui opera il server di origine e le dimensioni e i tipi dei file richiesti.Conditions include how the origin server operates and the sizes and types of the files that are requested. Prima di affrontare dettagliatamente questi argomenti, è utile comprendere il funzionamento dell'ottimizzazione.Before we get into details on these subjects, you should understand how the optimization works.

Suddivisione degli oggetti in blocchiObject chunking

La rete di distribuzione dei contenuti di Azure con tecnologia Akamai usa una tecnica chiamata suddivisione degli oggetti in blocchi.The Azure Content Delivery Network from Akamai uses a technique called object chunking. Quando viene richiesto un file di grandi dimensioni, la rete CDN recupera piccole parti del file dall'origine.When a large file is requested, the CDN retrieves smaller pieces of the file from the origin. Dopo che il server perimetrale/POP della rete CDN riceve la richiesta di un file completo o di un intervallo di byte, controlla se il tipo di file è supportato per l'ottimizzazione.After the CDN edge/POP server receives a full or byte-range file request, it checks whether the file type is supported for this optimization. Controlla inoltre che il tipo di file soddisfi i requisiti di dimensioni dei file.It also checks whether the file type meets the file size requirements. Se il file ha dimensioni maggiori di 10 MB, il server perimetrale della rete CDN richiede il file dall'origine in blocchi di 2 MB.If the file size is greater than 10 MB, the CDN edge server requests the file from the origin in chunks of 2 MB.

Quando il blocco arriva al server perimetrale della rete CDN, viene memorizzato nella cache e reso immediatamente disponibile all'utente.After the chunk arrives at the CDN edge, it's cached and immediately served to the user. La rete CDN esegue la prelettura del blocco successivo in parallelo.The CDN then prefetches the next chunk in parallel. Questa prelettura fa sì che il contenuto resti in anticipo di un blocco rispetto all'utente, riducendo la latenza.This prefetch ensures that the content stays one chunk ahead of the user, which reduces latency. Questo processo continua finché non viene scaricato l'intero file (se richiesto), non sono disponibili tutti gli intervalli di byte (se richiesto) o il client non termina la connessione.This process continues until the entire file is downloaded (if requested), all byte ranges are available (if requested), or the client terminates the connection.

Per altre informazioni sulla richiesta di intervalli di byte, vedere RFC 7233.For more information on the byte-range request, see RFC 7233.

La rete CDN memorizza nella cache tutti i blocchi alla loro ricezione.The CDN caches any chunks as they're received. Il file non deve essere memorizzato interamente nella cache della rete CDN.The entire file doesn't have to be cached on the CDN cache. Le richieste successive del file o di intervalli di byte vengono soddisfatte dalla cache della rete CDN.Subsequent requests for the file or byte ranges are served from the CDN cache. Se non tutti i blocchi vengono memorizzati nella cache della rete CDN, viene usata la prelettura per richiedere i blocchi dall'origine.If not all the chunks are cached on the CDN, prefetch is used to request chunks from the origin. Questa ottimizzazione presuppone il fatto che il server di origine supporti le richieste di intervalli di byte.This optimization relies on the ability of the origin server to support byte-range requests. Se il server di origine non supporta le richieste di intervalli di byte, questa ottimizzazione non è efficace.If the origin server doesn't support byte-range requests, this optimization isn't effective.

Memorizzazione nella cacheCaching

L'ottimizzazione per file di grandi dimensioni usa tempi di scadenza della memorizzazione nella cache predefiniti diversi rispetto alla distribuzione Web generica.Large file optimization uses different default caching-expiration times from general web delivery. Differenzia la memorizzazione nella cache positiva e negativa in base ai codici di risposta HTTP.It differentiates between positive caching and negative caching based on HTTP response codes. Se il server di origine specifica una scadenza tramite l'intestazione Cache-Control o Expires nella risposta, la rete CDN rispetta questo valore.If the origin server specifies an expiration time via a cache-control or expires header in the response, the CDN honors that value. Quando l'origine non specifica alcuna scadenza e il file soddisfa le condizioni di tipo e dimensioni per questo tipo di ottimizzazione, la rete CDN usa i valori predefiniti per l'ottimizzazione per file di grandi dimensioni.When the origin doesn’t specify and the file matches the type and size conditions for this optimization type, the CDN uses the default values for large file optimization. In caso contrario, la rete CDN usa i valori predefiniti per la distribuzione Web generica.Otherwise, the CDN uses defaults for general web delivery.

Distribuzione Web genericaGeneral web Ottimizzazione per file di grandi dimensioniLarge file optimization
Memorizzazione nella cache: positivaCaching: Positive
HTTP 200, 203, 300,HTTP 200, 203, 300,
301, 302 e 410301, 302, and 410
7 giorni7 days 1 giorno1 day
Memorizzazione nella cache: negativaCaching: Negative
HTTP 204, 305, 404,HTTP 204, 305, 404,
e 405and 405
NoneNone 1 secondo1 second

Gestire gli errori di origineDeal with origin failure

La durata del timeout di lettura dell'origine aumenta da due secondi per la distribuzione Web generica a due minuti per il tipo di ottimizzazione per file di grandi dimensioni.The origin read-timeout length increases from two seconds for general web delivery to two minutes for the large file optimization type. Questo aumento è dovuto alle dimensioni di file maggiori, per evitare il timeout prematuro della connessione.This increase accounts for the larger file sizes to avoid a premature timeout connection.

Quando si verifica il timeout di una connessione, la rete CDN esegue un certo numero di tentativi prima di inviare l'errore "504 - Timeout gateway" al client.When a connection times out, the CDN retries a number of times before it sends a "504 - Gateway Timeout" error to the client.

Condizioni per l'ottimizzazione dei file di grandi dimensioniConditions for large file optimization

La tabella seguente elenca il set di criteri che devono essere soddisfatti per l'ottimizzazione dei file di grandi dimensioni:The following table lists the set of criteria to be satisfied for large file optimization:

CondizioneCondition ValoriValues
Tipi di file supportatiSupported file types 3g2, 3gp, asf, avi, bz2, dmg, exe, f4v, flv,3g2, 3gp, asf, avi, bz2, dmg, exe, f4v, flv,
gz, hdp, iso, jxr, m4v, mkv, mov, mp4,gz, hdp, iso, jxr, m4v, mkv, mov, mp4,
mpeg, mpg, mts, pkg, qt, rm, swf, tar,mpeg, mpg, mts, pkg, qt, rm, swf, tar,
tgz, wdp, webm, webp, wma, wmv, ziptgz, wdp, webm, webp, wma, wmv, zip
Dimensione minima dei fileMinimum file size 10 MB10 MB
Dimensione massima dei fileMaximum file size 150 GB150 GB
Caratteristiche del server di origineOrigin server characteristics Deve supportare richieste di intervalli di byteMust support byte-range requests

Ottimizzare la distribuzione di file di grandi dimensioni con la rete di distribuzione dei contenuti di Azure con tecnologia VerizonOptimize for delivery of large files with the Azure Content Delivery Network from Verizon

La rete di distribuzione dei contenuti di Azure con tecnologia Verizon distribuisce file di grandi dimensioni senza alcun limite riguardo alle dimensioni dei file.The Azure Content Delivery Network from Verizon delivers large files without a cap on file size. Altre funzionalità sono attivate per impostazione predefinita per accelerare la distribuzione di file di grandi dimensioni.Additional features are turned on by default to make delivery of large files faster.

Riempimento completo della cacheComplete cache fill

La funzionalità predefinita di riempimento completo della cache permette alla rete CDN di eseguire il pull di un file nella cache quando la richiesta iniziale viene abbandonata o persa.The default complete cache fill feature enables the CDN to pull a file into the cache when an initial request is abandoned or lost.

Il riempimento completo della cache è particolarmente utile per asset di grandi dimensioni.Complete cache fill is most useful for large assets. In genere, gli utenti non scaricano questi asset dall'inizio alla fine,Typically, users don't download them from start to finish. ma usano il download progressivo.They use progressive download. Il comportamento predefinito forza il server perimetrale ad avviare un recupero in background dell'asset dal server di origine.The default behavior forces the edge server to initiate a background fetch of the asset from the origin server. Al termine di questa operazione, l'asset si trova nella cache locale del server perimetrale.Afterward, the asset is in the edge server's local cache. Quando l'oggetto si trova interamente nella cache, il server perimetrale può soddisfare le richieste di intervalli di byte alla rete CDN per l'oggetto memorizzato nella cache.After the full object is in the cache, the edge server fulfills byte-range requests to the CDN for the cached object.

È possibile disabilitare il comportamento predefinito tramite il motore delle regole nel livello Premium di Verizon.The default behavior can be disabled through the Rules Engine in the Verizon Premium tier.

Hotfiling del riempimento della cache peerPeer cache fill hot-filing

Questa funzionalità predefinita usa un sofisticato algoritmo proprietario.The default peer cache fill hot-filing feature uses a sophisticated proprietary algorithm. La funzionalità usa server perimetrali aggiuntivi per la memorizzazione nella cache in base alla larghezza di banda e ad altre metriche delle richieste aggregate per soddisfare le richieste client di oggetti di grandi dimensioni e usati spesso.It uses additional edge caching servers based on bandwidth and aggregate requests metrics to fulfill client requests for large, highly popular objects. Questa funzionalità previene situazioni in cui un numero elevato di richieste aggiuntive viene inviato al server di origine di un utente.This feature prevents a situation in which large numbers of extra requests are sent to a user's origin server.

Condizioni per l'ottimizzazione dei file di grandi dimensioniConditions for large file optimization

Le funzionalità di ottimizzazione per Verizon sono attivate per impostazione predefinita.The optimization features for Verizon are turned on by default. Non viene applicato alcun limite per le dimensioni massime dei file.There are no limits on maximum file size.

Ulteriori considerazioniAdditional considerations

Per questo tipo di ottimizzazione, tenere presenti gli aspetti aggiuntivi seguenti.Consider the following additional aspects for this optimization type.

Rete di distribuzione dei contenuti di Azure con tecnologia AkamaiAzure Content Delivery Network from Akamai

  • Il processo di suddivisione in blocchi genera richieste aggiuntive al server di origine.The chunking process generates additional requests to the origin server. Tuttavia, il volume complessivo dei dati distribuiti dall'origine è notevolmente inferiore.However, the overall volume of data delivered from the origin is much smaller. La suddivisione in blocchi assicura caratteristiche di memorizzazione nella cache migliori nella rete CDN.Chunking results in better caching characteristics at the CDN.

  • La pressione in termini di memoria e I/O risulta ridotta nell'origine, perché vengono distribuite piccole parti del file.Memory and I/O pressure are reduced at the origin because smaller pieces of the file are delivered.

  • Per i blocchi memorizzati nella cache nella rete CDN non vi sono richieste aggiuntive all'origine fino alla scadenza del contenuto o finché il contenuto non viene rimosso dalla cache.For chunks cached at the CDN, there are no additional requests to the origin until the content expires or it's evicted from the cache.

  • L'utente può effettuare richieste di intervalli di byte alla rete CDN, che vengono considerate normali richieste di file.Users can make range requests to the CDN, and they're treated like any normal file. L'ottimizzazione viene applicata solo se il tipo di file è valido e l'intervallo di byte è compreso tra 10 MB e 150 GB.Optimization applies only if it's a valid file type and the byte range is between 10 MB and 150 GB. Se la dimensione media dei file richiesta è inferiore a 10 MB, può essere preferibile usare la distribuzione Web generica.If the average file size requested is smaller than 10 MB, you might want to use general web delivery instead.

Rete di distribuzione dei contenuti di Azure con tecnologia VerizonAzure Content Delivery Network from Verizon

L'ottimizzazione basata sulla distribuzione Web generica è in grado di distribuire file di grandi dimensioni.The general web delivery optimization type can deliver large files.