Accelerazione sito dinamico tramite la rete CDN di AzureDynamic site acceleration via Azure CDN

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.With the explosion of social media, electronic commerce, and the hyper-personalized web, a rapidly increasing percentage of the content served to end users is generated in real time. Gli utenti si aspettano un'esperienza Web rapida, affidabile e personalizzata, indipendentemente da browser, posizione, dispositivo o rete.Users expect a fast, reliable, and personalized web experience, independent of their browser, location, device, or network. Tuttavia, le innovazioni che rendono queste esperienze così coinvolgenti rallentano anche i download delle pagine e pongono a rischio la qualità dell'esperienza utente.However, the very innovations that make these experiences so engaging also slow page downloads and put the quality of the consumer experience at risk.

Le funzionalità standard della rete per la distribuzione di contenuti (CDN) includono la possibilità di memorizzare nella cache file in posizioni più vicine agli utenti finali per accelerare la distribuzione di file statici.Standard content delivery network (CDN) capability includes the ability to cache files closer to end users to speed up delivery of static files. 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.However, with dynamic web applications, caching that content in edge locations isn't possible because the server generates the content in response to user behavior. È 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.Speeding up the delivery of such content is more complex than traditional edge caching and requires an end-to-end solution that finely tunes each element along the entire data path from inception to delivery. L'ottimizzazione Accelerazione sito dinamico della rete CDN di Azure migliora in modo misurabile le prestazioni delle pagine Web con contenuto dinamico.With Azure CDN dynamic site acceleration (DSA) optimization, the performance of web ages with dynamic content is measurably improved.

La rete CDN di Azure di Akamai e la rete CDN di Azure di Verizon offrono entrambe l'ottimizzazione basata su Accelerazione sito dinamico tramite il menu Ottimizzato per durante la creazione degli endpoint.Azure CDN from Akamai and Azure CDN from Verizon both offer DSA optimization through the Optimized for menu during endpoint creation.

Importante

Per i profili di rete CDN di Azure con tecnologia Akamai, è possibile modificare l'ottimizzazione di un endpoint di rete CDN dopo che è stato creato.For Azure CDN from Akamai profiles, you are allowed to change the optimization of a CDN endpoint after it has been created.

Per i profili di rete CDN di Azure con tecnologia Verizon, non è possibile modificare l'ottimizzazione di un endpoint di rete CDN dopo che è stato creato.For Azure CDN from Verizon profiles, you cannot change the optimization of a CDN endpoint after it has been created.

Configurazione di un endpoint di rete CDN per accelerare la distribuzione di file dinamiciCDN endpoint configuration to accelerate delivery of dynamic files

Per configurare un endpoint di rete CDN in modo da ottimizzare la distribuzione di file dinamici è possibile usare il portale di Azure, le API REST o qualsiasi SDK client per eseguire la stessa operazione a livello di codice.To configure a CDN endpoint to optimize delivery of dynamic files, you can either use the Azure portal, the REST APIs, or any of the client SDKs to do the same thing programmatically.

Per configurare un endpoint di rete CDN per l'ottimizzazione Accelerazione sito dinamico tramite il portale di Azure:To configure a CDN endpoint for DSA optimization by using the Azure portal:

  1. Nella pagina Profilo rete CDN selezionareEndpoint.In the CDN profile page, select Endpoint.

    Aggiungere un nuovo endpoint di rete CDN

    Verrà visualizzato il riquadro Aggiungi un endpoint.The Add an endpoint pane appears.

  2. In Ottimizzato per selezionare Accelerazione sito dinamico.Under Optimized for, select Dynamic site acceleration.

    Creare un nuovo endpoint di rete CDN con Accelerazione sito dinamico

  3. Per Percorso probe immettere il percorso valido di un file.For Probe path, enter a valid path to a file.

    Il percorso probe è una caratteristica specifica della funzionalità Accelerazione sito dinamico e ai fini della creazione è necessario un percorso valido.Probe path is a feature specific to DSA, and a valid path is required for creation. La funzionalità Accelerazione sito dinamico usa un piccolo file di percorso probe, incluso nel server di origine per ottimizzare le configurazioni di routing di rete per la rete CDN.DSA uses a small probe path file placed on the origin server to optimize network routing configurations for the CDN. 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.For the probe path file, you can download and upload the sample file to your site, or use an existing asset on your origin that is about 10 KB in size.

  4. Immettere le altre opzioni necessarie per l'endpoint (per altre informazioni, vedere Creare un nuovo endpoint della rete CDN), quindi selezionare Aggiungi.Enter the other required endpoint options (for more information, see Create a new CDN endpoint), then select Add.

    Una volta creato l'endpoint di rete CDN, questo applica le ottimizzazioni basate su Accelerazione sito dinamico per tutti i file che soddisfano determinati criteri.After the CDN endpoint is created, it applies the DSA optimizations for all files that match certain criteria.

Per configurare un endpoint esistente per Accelerazione sito dinamico (solo profili di rete CDN di Azure di Akamai):To configure an existing endpoint for DSA (Azure CDN from Akamai profiles only):

  1. Nella pagina Profilo rete CDN selezionare l'endpoint che si vuole modificare.In the CDN profile page, select the endpoint you want to modify.

  2. Selezionare Ottimizzazione nel riquadro sinistro.From the left pane, select Optimization.

    Viene visualizzata la pagina Ottimizzazione.The Optimization page appears.

  3. In Ottimizzato per selezionare Accelerazione sito dinamico, quindi selezionare Salva.Under Optimized for, select Dynamic site acceleration, then select Save.

Nota

Alla funzionalità Accelerazione sito dinamico si applicano costi aggiuntivi.DSA incurs extra charges. Per altre informazioni, vedere Prezzi della rete per la distribuzione di contenuti.For more information, see Content Delivery Network pricing.

Ottimizzazione basata su Accelerazione sito dinamico tramite la rete CDN di AzureDSA Optimization using Azure CDN

La funzionalità Accelerazione sito dinamico nella rete CDN di Azure accelera la distribuzione di asset dinamici tramite le tecniche seguenti:Dynamic Site Acceleration on Azure CDN speeds up delivery of dynamic assets by using the following techniques:

Ottimizzazione delle routeRoute Optimization

L'ottimizzazione delle route è importante perché Internet è un ambiente dinamico, in cui le interruzioni temporanee e di traffico influiscono costantemente sulla topologia di rete.Route optimization is important because the Internet is a dynamic place, where traffic and temporarily outages are constantly changing the network topology. Border Gateway Protocol (BGP) è il protocollo di routing di Internet, ma possono essere disponibili route più veloci tramite server POP (Point of Presence) intermediari.The Border Gateway Protocol (BGP) is the routing protocol of the Internet, but there may be faster routes via intermediary Point of Presence (PoP) servers.

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.Route optimization chooses the most optimal path to the origin so that a site is continuously accessible and dynamic content is delivered to end users via the fastest and most reliable route possible.

La rete Akamai usa alcune tecniche per raccogliere dati in tempo reale e confrontare i vari percorsi nei diversi nodi nel server Akamai, insieme alla route BGP predefinita nella rete Internet aperta, per determinare la route più veloce tra l'origine e il server perimetrale della rete CDN.The Akamai network uses techniques to collect real-time data and compare various paths through different nodes in the Akamai server, as well as the default BGP route across the open Internet to determine the fastest route between the origin and the CDN edge. Queste tecniche permettono di evitare lunghe route e punti di congestione in Internet.These techniques avoid Internet congestion points and long routes.

Analogamente, la rete Verizon usa una combinazione di DNS Anycast, server POP di supporto a capacità elevata e controlli di integrità per determinare i gateway migliori per instradare al meglio i dati dal client all'origine.Similarly, the Verizon network uses a combination of Anycast DNS, high capacity support PoPs, and health checks, to determine the best gateways to best route data from the client to the origin.

Di conseguenza, i contenuti completamente dinamici e transazionali vengono distribuiti in modo più rapido e affidabile agli utenti finali, anche quando non sono memorizzabili nella cache.As a result, fully dynamic and transactional content is delivered more quickly and more reliably to end users, even when it is uncacheable.

Ottimizzazioni del protocollo TCPTCP Optimizations

Transmission Control Protocol (TCP) è il protocollo standard della suite di protocolli Internet e viene usato per distribuire informazioni tra applicazioni in una rete IP.Transmission Control Protocol (TCP) is the standard of the Internet protocol suite used to deliver information between applications on an IP network. Per impostazione predefinita, sono necessarie diverse richieste nelle due direzioni per configurare una connessione TCP e vengono applicati limiti per evitare congestioni di rete, che producono inefficienze su larga scala.By default, several back-and-forth requests are required to set up a TCP connection, as well as limits to avoid network congestions, which result in inefficiencies at scale. La rete CDN di Azure con tecnologia Akamai gestisce questo problema tramite ottimizzazioni in tre aree:Azure CDN from Akamai handles this problem by optimizing in three areas:

Eliminazione della lentezza di avvio TCPEliminating TCP slow start

Slow start (lentezza di avvio) è un algoritmo del protocollo TCP che impedisce la congestione di rete limitando la quantità di dati inviati in rete.TCP slow start is an algorithm of the TCP protocol that prevents network congestion by limiting the amount of data sent over the network. 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.It starts off with small congestion window sizes between sender and receiver until the maximum is reached or packet loss is detected.

Entrambi i profili di rete CDN di Azure con tecnologia Akamai e di rete CDN di Azure con tecnologia Verizon eliminano la lentezza di avvio TCP in tre passaggi:Both Azure CDN from Akamai and Azure CDN from Verizon profiles eliminate TCP slow start with the following three steps:

  1. Viene usato il monitoraggio dell'integrità e della larghezza di banda per misurare la larghezza di banda delle connessioni tra i server POP perimetrali.Health and bandwidth monitoring is used to measure the bandwidth of connections between edge PoP servers.

  2. Le metriche vengono condivise tra i server POP perimetrali in modo che ogni server sia in grado di determinare le condizioni di rete e l'integrità degli altri server POP nelle vicinanze.Metrics are shared between edge PoP servers so that each server is aware of the network conditions and server health of the other PoPs around them.

  3. I server perimetrali della rete CDN fanno ipotesi su alcuni parametri di trasmissione, ad esempio le dimensioni ottimali delle finestre di congestione durante la comunicazione con altri server perimetrali della rete CDN nelle vicinanze.The CDN edge servers make assumptions about some transmission parameters, such as what the optimal window size should be when communicating with other CDN edge servers in its proximity. Questo significa che è possibile aumentare le dimensioni iniziali della finestra di congestione se l'integrità della connessione tra i server perimetrali della rete CDN è in grado di supportare trasferimenti di dati di pacchetto di dimensioni maggiori.This step means that the initial congestion window size can be increased if the health of the connection between the CDN edge servers is capable of higher packet data transfers.

Uso di connessioni persistentiLeveraging persistent connections

Con una rete CDN, un numero minore di computer univoci si connette direttamente al server di origine rispetto agli utenti che si connettono direttamente all'origine.Using a CDN, fewer unique machines connect to your origin server directly compared with users connecting directly to your origin. La rete CDN di Azure crea inoltre pool di richieste degli utenti per stabilire un numero minore di connessioni all'origine.Azure CDN also pools user requests together to establish fewer connections with the origin.

Come accennato in precedenza, sono necessarie più richieste di handshake per stabilire una connessione TCP.As previously mentioned, several handshake requests are required to establish a TCP connection. Le connessioni persistenti, implementate dall'intestazione HTTP Keep-Alive, riutilizzano le connessioni TCP esistenti per più richieste HTTP, in modo da ottimizzare i tempi di round trip e accelerare la distribuzione.Persistent connections, which are implemented by the Keep-Alive HTTP header, reuse existing TCP connections for multiple HTTP requests to save round-trip times and speed up delivery.

La rete CDN di Azure con tecnologia Verizon invia pacchetti "keep-alive" tramite la connessione TCP anche per impedire la chiusura di una connessione aperta.Azure CDN from Verizon also sends periodic keep-alive packets over the TCP connection to prevent an open connection from being closed.

Ottimizzazione dei parametri dei pacchetti TCPTuning TCP packet parameters

La rete CDN di Azure con tecnologia Akamai ottimizza i parametri che determinano le connessioni da server a server e riduce la quantità di round trip a lungo termine necessari per recuperare il contenuto incorporato nel sito tramite le tecniche seguenti:Azure CDN from Akamai tunes the parameters that govern server-to-server connections and reduces the amount of long-haul round trips required to retrieve content embedded in the site by using the following techniques:

  • Aumentando la finestra di congestione iniziale in modo da inviare più pacchetti senza attendere un acknowledgement.Increasing the initial congestion window so that more packets can be sent without waiting for an acknowledgement.
  • Riducendo il timeout di ritrasmissione iniziale in modo da rilevare le perdite e accelerare la ritrasmissione.Decreasing the initial retransmit timeout so that a loss is detected, and retransmission occurs more quickly.
  • Riducendo i timeout di ritrasmissione minimo e massimo per ridurre i tempi di attesa prima di supporre una perdita dei pacchetti durante la trasmissione.Decreasing the minimum and maximum retransmit timeout to reduce the wait time before assuming packets were lost in transmission.

Prelettura degli oggetti (solo rete CDN di Azure con tecnologia Akamai)Object prefetch (Azure CDN from Akamai only)

La maggior parte dei siti Web è costituita da una pagina HTML che fa riferimento a diverse altre risorse, come immagini e script.Most websites consist of an HTML page, which references various other resources such as images and scripts. In genere, quando un client richiede una pagina Web, il browser scarica e analizza prima di tutto l'oggetto HTML, quindi effettua richieste aggiuntive agli asset collegati necessari per caricare completamente la pagina.Typically, when a client requests a webpage, the browser first downloads and parses the HTML object, and then makes additional requests to linked assets that are required to fully load the page.

La prelettura è una tecnica per recuperare le immagini e gli script incorporati nella pagina HTML quando il file HTML viene reso disponibile al browser e addirittura prima che il browser effettui le richieste di questi oggetti.Prefetch is a technique to retrieve images and scripts embedded in the HTML page while the HTML is served to the browser, and before the browser even makes these object requests.

Attivando l'opzione di prelettura quando la rete CDN rende disponibile la pagina HTML di base al browser del client, la rete analizza il file HTML ed effettua richieste aggiuntive di tutte le risorse collegate, archiviandole nella cache.With the prefetch option turned on at the time when the CDN serves the HTML base page to the client’s browser, the CDN parses the HTML file and make additional requests for any linked resources and store it in its cache. Quando il client effettua le richieste degli asset collegati, il server perimetrale della rete CDN include già gli oggetti richiesti e può renderli disponibili immediatamente senza un round trip all'origine.When the client makes the requests for the linked assets, the CDN edge server already has the requested objects and can serve them immediately without a round trip to the origin. Questa ottimizzazione è utile per contenuti memorizzabili e non memorizzabili nella cache.This optimization benefits both cacheable and non-cacheable content.

Compressione di immagini adattiva (solo rete CDN di Azure con tecnologia Akamai)Adaptive image compression (Azure CDN from Akamai only)

Alcuni dispositivi, in particolare quelli mobili, riscontrano occasionalmente velocità di rete minori.Some devices, especially mobile ones, experience slower network speeds from time to time. In questi scenari è più utile per l'utente ricevere nella propria pagina Web immagini di dimensioni minori più rapidamente anziché attendere più a lungo le immagini a risoluzione completa.In these scenarios, it is more beneficial for the user to receive smaller images in their webpage more quickly rather than waiting a long time for full resolution images.

Questa funzionalità monitora automaticamente la qualità della rete e usa metodi di compressione JPEG standard per migliorare i tempi di ripristino quando le velocità di rete sono inferiori.This feature automatically monitors network quality, and employs standard JPEG compression methods when network speeds are slower to improve delivery time.

Compressione di immagini adattivaAdaptive Image Compression Estensioni di fileFile Extensions
Compressione JPEGJPEG compression JPG, JPEG, JPE, JIG, JGIG, JGI.jpg, .jpeg, .jpe, .jig, .jgig, .jgi

Memorizzazione nella cacheCaching

Con la funzionalità Accelerazione sito dinamico, la memorizzazione nella cache è disattivata per impostazione predefinita nella rete CDN, anche quando l'origine include intestazioni Cache-Control o Expires nella risposta.With DSA, caching is turned off by default on the CDN, even when the origin includes Cache-Control or Expires headers in the response. La funzionalità Accelerazione sito dinamico viene in genere usata per asset dinamici che non devono essere memorizzati nella cache in quanto univoci per ogni client.DSA is typically used for dynamic assets that should not be cached because they are unique to each client. La memorizzazione nella cache può interrompere questo comportamento.Caching can break this behavior.

Se il sito Web include una combinazione di asset statici e dinamici, è preferibile adottare un approccio ibrido per ottenere prestazioni ottimali.If you have a website with a mix of static and dynamic assets, it is best to take a hybrid approach to get the best performance.

Per i profili di rete CDN Standard di Azure con tecnologia Verizon e di rete CDN Standard di Azure con tecnologia Akamai, è possibile attivare la memorizzazione nella cache per specifici endpoint con Accelerazione sito dinamico usando regole di memorizzazione nella cache.For Azure CDN Standard from Verizon and Azure CDN Standard from Akamai profiles, you can turn on caching for specific DSA endpoints by using caching rules.

Per accedere alle regole di memorizzazione nella cache:To access caching rules:

  1. Nella pagina Profilo CDN, in Impostazioni, selezionare Regole di memorizzazione nella cache.From the CDN profile page, under settings, select Caching rules.

    Pulsante Regole di memorizzazione nella cache della rete CDN

    Viene visualizzata la pagina Regole di memorizzazione nella cache.The Caching rules page opens.

  2. Creare una regola globale o personalizzata per attivare la memorizzazione nella cache per l'endpoint con Accelerazione sito dinamico.Create a global or custom caching rule to turn on caching for your DSA endpoint.

Per i profili di rete CDN Premium di Azure con tecnologia Verizon è possibile attivare la memorizzazione nella cache per specifici endpoint con Accelerazione sito dinamico usando il motore regole.For Azure CDN Premium from Verizon profiles only, you turn on caching for specific DSA endpoints by using the rules engine. Le regole create interessano solo gli endpoint del profilo che sono ottimizzati per Accelerazione sito dinamico.Any rules that are created affect only those endpoints of your profile that are optimized for DSA.

Per accedere al motore regole:To access the rules engine:

  1. Nella pagina Profilo rete CDN selezionare Gestisci.From the CDN profile page, select Manage.

    Pulsante di gestione del profilo della rete CDN

    Si aprirà il portale di gestione della rete CDN.The CDN management portal opens.

  2. Nel portale di gestione della rete CDN selezionare ADN e quindi Motore regole.From the CDN management portal, select ADN, then select Rules Engine.

    Motore regole per Accelerazione sito dinamico

In alternativa, e possibile usare due endpoint di rete CDN, uno ottimizzato con Accelerazione sito dinamico per distribuire asset dinamici e un altro con un'ottimizzazione di tipo statico, ad esempio la distribuzione Web generica, per distribuire asset memorizzabili nella cache.Alternatively, you can use two CDN endpoints: one endpoint optimized with DSA to deliver dynamic assets and another endpoint optimized with a static optimization type, such as general web delivery, to delivery cacheable assets. Modificare gli URL delle pagine Web per il collegamento diretto all'asset nell'endpoint di rete CDN che si prevede di usare.Modify your webpage URLs to link directly to the asset on the CDN endpoint you plan to use.

Ad esempio: mydynamic.azureedge.net/index.html è una pagina dinamica e viene caricata dall'endpoint con Accelerazione sito dinamico.For example: mydynamic.azureedge.net/index.html is a dynamic page and is loaded from the DSA endpoint. La pagina HTML fa riferimento a più asset statici, tra cui librerie JavaScript o immagini caricate dall'endpoint di rete CDN statico, come mystatic.azureedge.net/banner.jpg e mystatic.azureedge.net/scripts.js.The html page references multiple static assets such as JavaScript libraries or images that are loaded from the static CDN endpoint, such as mystatic.azureedge.net/banner.jpg and mystatic.azureedge.net/scripts.js.