Accelerazione del sito dinamico tramite Azure rete per la distribuzione di contenuti

A causa dell'elevata diffusione di social media, e-commerce e Web iper-personalizzato, una percentuale sempre maggiore di contenuti resa disponibile agli utenti finali viene generata in tempo reale. Gli utenti si aspettano un'esperienza Web rapida, affidabile e personalizzata, indipendentemente da browser, posizione, dispositivo o rete. Tuttavia, le innovazioni che rendono queste esperienze così coinvolgenti rallentano anche i download delle pagine e pongono a rischio la qualità dell'esperienza utente.

La funzionalità di rete per la distribuzione di contenuti standard include la possibilità di memorizzare nella cache i file più vicini agli utenti finali per velocizzare la distribuzione di file statici. Tuttavia, con le applicazioni Web dinamiche la memorizzazione nella cache di tali contenuti in posizioni periferiche non è possibile, in quanto il server genera il contenuto in risposta al comportamento degli utenti. È più difficile accelerare la distribuzione di tali contenuti rispetto alla memorizzazione nella cache perimetrale tradizionale e a questo scopo è necessaria una soluzione end-to-end in grado di ottimizzare ogni elemento insieme all'intero percorso dei dati, dalle fasi iniziali alla distribuzione. Con l'ottimizzazione DSA (Dynamic Site Acceleration) di Azure rete per la distribuzione di contenuti, le prestazioni delle pagine Web con contenuto dinamico sono notevolmente migliorate.

Rete CDN di Azure da Edgio offre l'ottimizzazione DSA tramite il menu Ottimizzato per durante la creazione dell'endpoint. L'accelerazione del sito dinamico di Microsoft viene offerta tramite Frontdoor di Azure.

Importante

Per Rete CDN di Azure dai profili Edgio, non è possibile modificare l'ottimizzazione di un endpoint di rete per la distribuzione di contenuti dopo la creazione.

Configurazione dell'endpoint di rete per la distribuzione di contenuti per accelerare la distribuzione di file dinamici

Per configurare un endpoint di rete per la distribuzione di contenuti per ottimizzare la distribuzione di file dinamici, è possibile usare la portale di Azure, le API REST o uno degli SDK client per eseguire la stessa operazione a livello di codice.

Per configurare un endpoint di rete CDN per l'ottimizzazione Accelerazione sito dinamico tramite il portale di Azure:

  1. Nella pagina Profilo rete CDN selezionareEndpoint.

    Screenshot dell'aggiunta di un nuovo endpoint di rete per la distribuzione di contenuti.

    Verrà visualizzato il riquadro Aggiungi un endpoint.

  2. In Ottimizzato per selezionare Accelerazione sito dinamico.

    Screenshot della creazione di un nuovo endpoint di rete per la distribuzione di contenuti con DSA.

  3. Per Percorso probe immettere il percorso valido di un file.

    Il percorso probe è una caratteristica specifica della funzionalità Accelerazione sito dinamico e ai fini della creazione è necessario un percorso valido. DSA usa un piccolo file di percorso probe posizionato nel server di origine per ottimizzare le configurazioni di routing di rete per la rete per la distribuzione di contenuti. Per il file del percorso probe è possibile scaricare e caricare il file di esempio nel proprio sito oppure usare un asset esistente nell'origine che sia all'incirca di 10 KB.

  4. Immettere le altre opzioni dell'endpoint necessarie (per altre informazioni, vedere Creare un nuovo endpoint di rete per la distribuzione di contenuti), quindi selezionare Aggiungi.

    Dopo aver creato l'endpoint di rete per la distribuzione di contenuti, applica le ottimizzazioni DSA per tutti i file che soddisfano determinati criteri.

Ottimizzazione DSA con Azure rete per la distribuzione di contenuti

Accelerazione sito dinamico in Azure rete per la distribuzione di contenuti accelera la distribuzione di asset dinamici usando le tecniche seguenti:

Ottimizzazione delle route

L'ottimizzazione delle route è importante perché Internet è un ambiente dinamico, in cui le interruzioni temporanee e di traffico influiscono costantemente sulla topologia di rete. Border Gateway Protocol (BGP) è il protocollo di routing di Internet, ma potrebbero esserci route più veloci tramite server POP (Point of Presence) intermedi.

L'ottimizzazione delle route sceglie il percorso ottimale verso l'origine, in modo che un sito sia costantemente accessibile e il contenuto dinamico venga distribuito agli utenti finali tramite la route più veloce e affidabile possibile.

La rete Edgio usa una combinazione di DNS Anycast, poP di supporto ad alta capacità e controlli di integrità, per determinare i gateway migliori per instradare meglio i dati dal client all'origine.

Di conseguenza, il contenuto completamente dinamico e transazionale viene distribuito più rapidamente e in modo più affidabile agli utenti finali, anche quando non è memorizzabile nella cache.

Ottimizzazioni del protocollo TCP

Transmission Control Protocol (TCP) è lo standard della famiglia di prodotti Internet Protocol usata per fornire informazioni tra le applicazioni in una rete IP. Per impostazione predefinita, la creazione di una connessione TCP richiede più richieste bidirezionali. Inoltre, esistono limiti per evitare la congestione della rete, che può causare inefficienze quando si opera su larga scala. Rete CDN di Azure di Edgio gestisce questo problema ottimizzando in tre aree:

Eliminazione della lentezza di avvio TCP

Slow start (lentezza di avvio) è un algoritmo del protocollo TCP che impedisce la congestione di rete limitando la quantità di dati inviati in rete. La lentezza di avvio inizia con finestre di congestione di dimensioni ridotte tra il mittente e il destinatario, fino a raggiungere le dimensioni massime o a rilevare una perdita di pacchetti.

Rete CDN di Azure dai profili Edgio eliminano l'avvio lento TCP con i tre passaggi seguenti:

  1. Il monitoraggio dell'integrità e della larghezza di banda viene usato per misurare la larghezza di banda delle connessioni tra i server POP perimetrali.

  2. Le metriche vengono condivise tra server POP perimetrali in modo che ogni server sia a conoscenza delle condizioni di rete e dell'integrità del server degli altri pop intorno.

  3. I server perimetrali della rete perimetrale per la distribuzione di contenuti presupmettono alcuni parametri di trasmissione, ad esempio le dimensioni ottimali della finestra quando comunicano con altri server perimetrali della rete perimetrale per la distribuzione di contenuti in prossimità. Questo passaggio indica che le dimensioni iniziali della finestra di congestione possono essere aumentate se l'integrità della connessione tra i server perimetrali della rete perimetrale per la distribuzione di contenuti è in grado di trasferire dati di pacchetti più elevati.

Uso di connessioni persistenti

Quando si usa una rete per la distribuzione di contenuti, meno computer univoci si connettono direttamente al server di origine rispetto agli utenti che si connettono direttamente all'origine. Azure rete per la distribuzione di contenuti raggruppa anche le richieste degli utenti per stabilire un minor numero di connessioni con l'origine.

Come accennato in precedenza, sono necessarie più richieste di handshake per stabilire una connessione TCP. Connessioni permanenti, implementate dall'intestazione Keep-Alive HTTP, riutilizzano le connessioni TCP esistenti per più richieste HTTP per risparmiare tempi di round trip e velocizzare il recapito.

Rete CDN di Azure da Edgio invia anche pacchetti keep-alive periodici sulla connessione TCP per impedire la chiusura di una connessione aperta.

Memorizzazione nella cache

Con DSA, la memorizzazione nella cache viene disattivata per impostazione predefinita nella rete per la distribuzione di contenuti, anche quando l'origine include Cache-Control o Expires intestazioni nella risposta. DSA viene in genere usato per asset dinamici che non devono essere memorizzati nella cache perché sono univoci per ogni client. La memorizzazione nella cache può interrompere questo comportamento.

Se si dispone di un sito Web con una combinazione di asset statici e dinamici, è consigliabile adottare un approccio ibrido per ottenere prestazioni ottimali.

Con Rete CDN di Azure profili Standard di Edgio, è possibile attivare la memorizzazione nella cache per endpoint DSA specifici usando le regole di memorizzazione nella cache.

Per accedere alle regole di memorizzazione nella cache:

  1. Nella pagina Profilo CDN, in Impostazioni, selezionare Regole di memorizzazione nella cache.

    Screenshot del pulsante regole di memorizzazione nella cache della rete per la distribuzione di contenuti.

    Viene visualizzata la pagina Regole di memorizzazione nella cache.

  2. Creare una regola globale o personalizzata per attivare la memorizzazione nella cache per l'endpoint con Accelerazione sito dinamico.

Solo per Rete CDN di Azure Premium dai profili Edgio, è possibile attivare la memorizzazione nella cache per endpoint DSA specifici usando il motore regole. Le regole create interessano solo gli endpoint del profilo che sono ottimizzati per Accelerazione sito dinamico.

Per accedere al motore regole:

  1. Nella pagina Profilo rete CDN selezionare Gestisci.

    Screenshot del pulsante di gestione del profilo di rete per la distribuzione di contenuti.

    Verrà aperto il portale di gestione della rete per la distribuzione di contenuti.

  2. Nel portale di gestione della rete per la distribuzione di contenuti selezionare ADN, quindi selezionare Motore regole.

    Motore regole per Accelerazione sito dinamico

In alternativa, è possibile usare due endpoint di rete per la distribuzione di contenuti: un endpoint ottimizzato con DSA per distribuire asset dinamici e un altro endpoint ottimizzato con un tipo di ottimizzazione statica, ad esempio la distribuzione Web generale, agli asset memorizzabili nella cache. Modificare gli URL della pagina Web per collegarsi direttamente all'asset nell'endpoint di rete per la distribuzione di contenuti che si prevede di usare.

Ad esempio, mydynamic.azureedge.net/index.html è una pagina dinamica e viene caricata dall'endpoint DSA. La pagina HTML fa riferimento a più asset statici, ad esempio librerie JavaScript o immagini caricate dall'endpoint di rete per la distribuzione di contenuti statici, ad esempio mystatic.azureedge.net/banner.jpg e mystatic.azureedge.net/scripts.js.