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 esperienze Web rapide, affidabili e personalizzate, indipendentemente da browser, posizione, dispositivo o rete.Users expect fast, reliable, and personalized web experiences, 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 CDN includono la possibilità di memorizzare nella cache file in posizioni più vicine agli utenti finali per accelerare la distribuzione di file statici.Standard 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. La funzionalità 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), the performance of web pages with dynamic content is measurably improved.

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

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

È possibile configurare l'endpoint di rete CDN in modo da ottimizzare la distribuzione di file dinamici tramite il portale di Azure selezionando l'opzione Accelerazione sito dinamico nella casella di selezione delle proprietà Ottimizzato per durante la creazione dell'endpoint.You can configure your CDN endpoint to optimize delivery of dynamic files via Azure portal by selecting the Dynamic site acceleration option under the Optimized for property selection during the endpoint creation. È anche possibile usare le API REST o qualsiasi SDK client per eseguire le stesse operazioni a livello di codice.You can also use our REST APIs or any of the client SDKs to do the same thing programmatically.

Percorso probeProbe path

Il percorso probe è una caratteristica specifica della funzionalità Accelerazione sito dinamico e un percorso probe valido è necessario ai fini della creazione.Probe path is a feature specific to Dynamic Site Acceleration, and a valid one is required for creation. La funzionalità Accelerazione sito dinamico usa un piccolo file di percorso probe, incluso nell'origine per ottimizzare le configurazioni di routing di rete per la rete CDN.DSA uses a small probe path file placed on the origin to optimize network routing configurations for the CDN. È 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 per il percorso probe, se l'asset esiste già.You can download and upload our sample file to your site, or use an existing asset on your origin that is roughly 10 KB for the probe path instead if the asset exists.

Nota

Alla funzionalità Accelerazione sito dinamico si applicano costi aggiuntivi.DSA incurs extra charges. Per altre informazioni, vedere la pagina dei prezzi.For more information, see the pricing page for more information.

Gli screenshot seguenti mostrano il processo tramite il portale di Azure.The following screenshots illustrate the process via Azure portal.

Aggiunta di un nuovo endpoint di rete CDN

Figura 1: Aggiunta di un nuovo endpoint di rete CDN dal profilo di rete CDNFigure 1: Adding a new CDN endpoint from the CDN Profile

Creazione di un nuovo endpoint di rete CDN con Accelerazione sito dinamico

Figura 2: Creazione di un endpoint di rete CDN tramite la selezione dell'ottimizzazione basata su Accelerazione sito dinamicoFigure 2: Creating a CDN Endpoint with Dynamic site acceleration Optimization selected

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.Once the CDN endpoint is created, it applies the DSA optimizations for all files that match certain criteria. La sezione seguente descrive in dettaglio l'ottimizzazione basata su Accelerazione sito dinamico.The following section describes DSA optimization in detail.

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 using the following techniques:

  • Ottimizzazione delle routeRoute Optimization
  • Ottimizzazioni del protocollo TCPTCP Optimizations
  • Prelettura degli oggetti (solo Akamai)Object Prefetch (Akamai only)
  • Compressione di immagini mobile (solo Akamai)Mobile Image Compression (Akamai only)

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, there are several back and forth requests 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 tutti questi aspetti tramite ottimizzazioni in tre aree:Azure CDN from Akamai deals with this problem by optimizing in three areas:

  • Eliminazione della lentezza di avvioeliminating slow start
  • Uso di connessioni persistentileveraging persistent connections
  • Ottimizzazione dei parametri dei pacchetti TCP (solo Akamai)tuning TCP packet parameters (Akamai only)

Eliminazione della lentezza di avvioEliminating slow start

La lentezza di avvio è una caratteristica del protocollo TCP, che impedisce la congestione di rete limitando la quantità di dati inviati in rete.Slow start is a part 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.

La rete CDN di Azure con tecnologie Akamai e Verizon elimina la lentezza di avvio in tre passaggi:Azure CDN from Akamai and Verizon eliminates slow start in three steps:

  1. La rete Akamai e la rete Verizon usano entrambe il monitoraggio dell'integrità e della larghezza di banda per misurare la larghezza di banda delle connessioni tra i server POP perimetrali.Both Akamai and Verizon's network use health and bandwidth monitoring 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.The 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 sono ora in grado di prevedere 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 are now able to 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 con tecnologie Akamai e Verizon crea inoltre pool di richieste degli utenti per stabilire un numero minore di connessioni all'origine.Azure CDN from Akamai and Verizon also pools user requests together to establish fewer connections with the origin.

Come indicato in precedenza, le connessioni TCP comportano diverse richieste nelle due direzioni in un handshake per stabilire una nuova connessione.As mentioned earlier, TCP connections take several requests back and forth in a handshake to establish a new connection. Le connessioni persistenti, chiamate anche "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, also known as "HTTP Keep-Alive," reuse existing TCP connections for multiple HTTP requests to save round-trip times and speed up delivery.

La rete Verizon invia pacchetti "keep-alive" tramite la connessione TCP anche per impedire la chiusura di una connessione aperta.The Verizon network 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 anche 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 also 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:

  1. 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.
  2. 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.
  3. 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 Akamai)Object Prefetch (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, 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 Akamai)Adaptive Image Compression (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/Expires nella risposta.With DSA, caching is turned off by default on the CDN, even when the origin includes cache-control/expires headers in the response. Questa impostazione è disattivata automaticamente perché 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 e la sua attivazione per impostazione predefinita può interrompere questo comportamento.This default is turned off because DSA is typically used for dynamic assets that should not be cached since they are unique to each client, and turning on caching by default 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.

Se si usa ADN con Verizon Premium, è possibile riattivare la memorizzazione nella cache per casi specifici tramite il motore regole.If you are using ADN with Verizon Premium, you can turn caching back on for specific cases using the Rules Engine.

Un'alternativa consiste nell'usare due endpoint di rete CDN,An alternative is to use two CDN endpoints. uno 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.One with DSA to deliver dynamic assets, and another endpoint with a static optimization type, such as general web delivery, to delivery cacheable assets. Per adottare questa alternativa, è necessario modificare gli URL delle pagine Web per il collegamento diretto all'asset nell'endpoint di rete CDN che si prevede di usare.In order to accomplish this alternative, you will 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.

Qui è disponibile un esempio di come usare controller in un'applicazione Web ASP.NET per rendere disponibili contenuti tramite un URL di rete CDN specifico.You can find an example here on how to use controllers in an ASP.NET web application to serve content through a specific CDN URL.