Ottimizzazione del download di file di grandi dimensioni con Azure rete per la distribuzione di contenuti

Le dimensioni file dei contenuti distribuiti su Internet continuano ad aumentare come conseguenza delle funzionalità avanzate, della grafica migliorata e della complessità dei contenuti multimediali. Questa crescita dipende da molti fattori: penetrazione della banda larga, dispositivi di archiviazione più grandi, aumento diffuso di video ad alta definizione e dispositivi connessi a Internet (IoT). Un meccanismo di distribuzione veloce ed efficiente per i file di grandi dimensioni è fondamentale per garantire un'esperienza utente uniforme e piacevole.

La distribuzione di file di grandi dimensioni pone diverse sfide. 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. In alcuni casi, le applicazioni potrebbero scaricare l'ultima parte di un file prima della prima. Quando è necessaria solo una piccola parte di un file o un utente sospende un download, il download può non riuscire. Il download potrebbe anche essere ritardato fino a quando la rete per la distribuzione del contenuto recupera l'intero file dal server di origine.

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. Inoltre, problemi di congestione e capacità di rete possono influire sulla velocità effettiva. Una maggiore distanza tra server e utenti crea più opportunità per la perdita di pacchetti, riducendo così la qualità. 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.

In terzo luogo, molti file di grandi dimensioni non vengono recapitati interamente. Gli utenti potrebbero annullare un download a metà o guardare solo i primi minuti di un lungo video MP4. Di conseguenza, per molte aziende di distribuzione di software e contenuti multimediali può essere utile distribuire solo la parte richiesta di un file. Una distribuzione efficiente delle parti richieste riduce il traffico in uscita dal server di origine. Una distribuzione efficiente riduce anche la pressione in termini di memoria e I/O sul server di origine.

Ottimizzare la distribuzione di file di grandi dimensioni con Azure rete per la distribuzione di contenuti da Microsoft

Gli endpoint della rete CDN Standard di Azure di Microsoft distribuiscono i file di grandi dimensioni senza porre limiti sulle dimensioni dei file. Le funzionalità aggiuntive sono attivate per impostazione predefinita per rendere più veloce il recapito di file di grandi dimensioni.

Suddivisione degli oggetti in blocchi

La rete CDN Standard di Azure di Microsoft usa una tecnica denominata suddivisione di oggetti in blocchi. Quando viene richiesto un file di grandi dimensioni, la rete per la distribuzione di contenuti recupera parti più piccole del file dall'origine. Dopo che il server POP della rete per la distribuzione di contenuti riceve una richiesta di file completa o a intervalli di byte, il server perimetrale della rete per la distribuzione di contenuti richiede il file dall'origine in blocchi di 8 MB.

Dopo che il blocco arriva al perimetro della rete per la distribuzione di contenuti, viene memorizzato nella cache e immediatamente servito all'utente. La rete per la distribuzione di contenuti esegue quindi il prelettura del blocco successivo in parallelo. Questa prelettura fa sì che il contenuto resti in anticipo di un blocco rispetto all'utente, riducendo la latenza. Questo processo continua fino a quando l'intero file viene scaricato (se richiesto), tutti gli intervalli di byte sono disponibili (se richiesto) o il client termina la connessione.

Per altre informazioni sulla richiesta di intervalli di byte, vedere RFC 7233.

La rete per la distribuzione di contenuti memorizza nella cache tutti i blocchi ricevuti. L'intero file non deve essere memorizzato nella cache della rete per la distribuzione di contenuti. Le richieste successive per gli intervalli di file o byte vengono gestite dalla cache della rete per la distribuzione di contenuti. Se non tutti i blocchi vengono memorizzati nella cache nella rete per la distribuzione di contenuti, il prelettura viene usato per richiedere blocchi dall'origine. Questa ottimizzazione presuppone il fatto che il server di origine supporti le richieste di intervalli di byte. Se il server di origine non supporta le richieste di intervallo di byte, le richieste di download dei dati maggiori di 8 MB hanno esito negativo.

Condizioni per l'ottimizzazione dei file di grandi dimensioni

Non viene applicato alcun limite per le dimensioni massime dei file.

Supporto per la codifica del trasferimento in blocchi

La rete per la distribuzione di contenuti Microsoft supporta le risposte di codifica del trasferimento, ma fino a un limite massimo di dimensioni del contenuto di 8 MB. Nel caso di risposte codificate con trasferimento in blocchi superiori a 8 MB, la rete per la distribuzione di contenuti Microsoft memorizza nella cache e serve solo i 8 MB iniziali di contenuto.

Ottimizzare la distribuzione di file di grandi dimensioni con Azure rete per la distribuzione di contenuti da Edgio

Rete CDN di Azure Standard di Edgio e Rete CDN di Azure Premium dagli endpoint Edgio offrono file di grandi dimensioni senza un limite per le dimensioni del file. Per impostazione predefinita, sono attivate altre funzionalità per rendere più veloce il recapito di file di grandi dimensioni.

Riempimento completo della cache

La funzionalità di riempimento della cache completa predefinita consente alla rete per la distribuzione di contenuti di eseguire il pull di un file nella cache quando una richiesta iniziale viene abbandonata o persa.

Il riempimento completo della cache è particolarmente utile per asset di grandi dimensioni. In genere, gli utenti non scaricano questi asset dall'inizio alla fine, ma usano il download progressivo. Il comportamento predefinito forza il server perimetrale ad avviare un recupero in background dell'asset dal server di origine. Al termine di questa operazione, l'asset si trova nella cache locale del server perimetrale. Dopo che l'oggetto completo si trova nella cache, il server perimetrale soddisfa le richieste di intervallo di byte alla rete per la distribuzione di contenuti per l'oggetto memorizzato nella cache.

Il comportamento predefinito può essere disabilitato tramite il motore regole in Rete CDN di Azure Premium da Edgio.

Hotfiling del riempimento della cache peer

La funzionalità predefinita di peer cache riempie la funzionalità di archiviazione ad accesso frequente usa un algoritmo proprietario sofisticato. Usa server di memorizzazione nella cache perimetrali aggiuntivi in base alla larghezza di banda e alle metriche delle richieste aggregate per soddisfare le richieste client per oggetti di grandi dimensioni e molto diffusi. Questa funzionalità previene situazioni in cui un numero elevato di richieste aggiuntive viene inviato al server di origine di un utente.

Condizioni per l'ottimizzazione dei file di grandi dimensioni

Le funzionalità di ottimizzazione dei file di grandi dimensioni per Rete CDN di Azure Standard di Edgio e Rete CDN di Azure Premium di Edgio vengono attivate per impostazione predefinita quando si usa il tipo di ottimizzazione per la distribuzione Web generale. Non viene applicato alcun limite per le dimensioni massime dei file.

Altre considerazioni

Considerare gli aspetti seguenti per questo tipo di ottimizzazione:

  • Il processo di suddivisione in blocchi genera più richieste al server di origine. Tuttavia, il volume complessivo dei dati recapitati dall'origine è inferiore. La suddivisione in blocchi consente di memorizzare nella cache caratteristiche migliori nella rete per la distribuzione di contenuti.

  • La pressione in termini di memoria e I/O risulta ridotta nell'origine, perché vengono distribuite piccole parti del file.

  • Per i blocchi memorizzati nella cache nella rete per la distribuzione di contenuti, non sono presenti altre richieste all'origine fino alla scadenza del contenuto o vengono rimosse dalla cache.

  • Gli utenti possono effettuare richieste di intervallo alla rete per la distribuzione di contenuti, che vengono considerate come qualsiasi file normale. L'ottimizzazione viene applicata solo se il tipo di file è valido e l'intervallo di byte è compreso tra 10 MB e 150 GB. Se la dimensione media dei file richiesta è inferiore a 10 MB, è preferibile usare la distribuzione Web generale.