Come posso risolvere i problemi e ridurre l'aumento della latenza di CloudFront?
Sto riscontrando una maggiore latenza nelle risposte di Amazon CloudFront. Desidero identificare la causa e ridurre la latenza.
Breve descrizione
Per risolvere i problemi di latenza di CloudFront, identifica innanzitutto quali dei seguenti eventi contribuiscono alla latenza:
- Il tempo impiegato dalle richieste per andare dal client alle posizioni edge di CloudFront e viceversa. Ciò include il processo di ricerca del DNS (Domain Name System) e le negoziazioni TCP e SSL/TLS.
- Il tempo impiegato dalle richieste per andare da CloudFront all'origine e viceversa. Ciò include il processo di ricerca del DNS dell’origine, le negoziazioni TCP e SSL/TLS con l'origine e il tempo impiegato dall'origine per elaborare e rispondere con un oggetto.
Quindi segui i passaggi per la risoluzione dei problemi per gli eventi che causano la maggiore latenza.
Risoluzione
Identifica gli eventi che causano la latenza di CloudFront:
Per identificare quali eventi stanno causando la latenza di CloudFront, esegui una delle seguenti operazioni:
- Esegui il seguente comando cURL:
curl -w "DNS_resolution: %{time_namelookup}| TCP_negotiation_time: %{time_connect}| SSL_negotiation_time: %{time_appconnect}| TTFB: %{time_starttransfer}| Total time: %{time_total} \n" -o /dev/null -vsL https://www.example.com
Nota: sostituisci l'esempio.com con il tuo nome di dominio CloudFront o un nome di dominio alternativo (CNAME) e il percorso URL.
- Controlla quanto tempo impiega ciascuna fase di una richiesta di rete negli strumenti di sviluppo del tuo browser Web. Per esempio, se utilizzi Mozilla Firefox, la scheda Tempi fornisce queste informazioni.
In base al tempo impiegato (time-taken) per ogni evento o richiesta, consulta la relativa sezione Risoluzione in questo articolo.
Se hai osservato una latenza in passato, controlla i campi time-taken e time-to-first-byte nei log di accesso di CloudFront. I log di accesso di CloudFront non registrano il tempo impiegato dal client per il processo di ricerca del DNS e le negoziazioni TCP e SSL/TLS
Ridurre la latenza nella risoluzione del DNS
- Aumenta il tempo di caching del DNS nel DNS lato client.
- Aumenta il valore TTL (Time to Live) della cache nel server DNS locale.
- Aumenta il valore TTL nel record DNS nel tuo registrar/provider DNS.
- Se il server DNS resolver del tuo provider di servizi Internet causa latenza, valuta l'utilizzo di server DNS pubblici.
Riduzione della latenza in TCP e SSL/TLS - Tempo di negoziazione
- Controlla la larghezza di banda della tua rete locale e la larghezza di banda Internet.
- Controlla se ci sono interruzioni della rete nel tuo provider di server Internet o router.
- Ottimizza le prestazioni della rete locale tramite il tuo provider di servizi Internet o i percorsi di rete.
- Verifica se stai utilizzando il resolver di DNS corretto che consente al browser Web di trovare la posizione POP più vicina e corretta.
- Per migliorare le prestazioni del sito HTTPS, mantieni breve la catena di certificazione.
- La latenza può essere causata da un firewall, un proxy o un router locale. Per determinare quale di questi sta causando la latenza, esegui il seguente comando MTR dal tuo sistema. Per ulteriori informazioni, consulta Diagnosi dei problemi di rete con MTR sul sito Web di Akamai.
mtr -rw example.com --no-dns
Nota: sostituisci example.com con il tuo nome di dominio.
Riduzione della latenza in Time Taken for First Byte (TTFB) e Total Time Taken (TTL)
Se CloudFront restituisce “X-Cache:Hit from cloudfront”
CloudFront restituisce “X-Cache:Hit from cloudfront” quando le richieste vengono servite dalla posizione edge più vicina. Per ridurre la latenza:
- Attiva la compressione automatica di CloudFront per comprimere i file e aumentare la velocità di download.
- Utilizza la cache locale o del browser per ridurre le richieste a CloudFront. Specifica l'intestazione cache-control sui file per indicare ai browser Web di conservare il contenuto del sito Web nella memoria del browser o nel disco locale per un determinato periodo di tempo. Per ulteriori informazioni sulle intestazioni cache-control, consulta Specificare la quantità di tempo di memorizzazione degli oggetti nella cache di CloudFront.
Se CloudFront restituisce “X-Cache:Miss from cloudfront”
CloudFront restituisce “X-Cache:Miss from cloudfront” quando la richiesta viene inviata all'origine. Per ridurre la latenza:
- Riduci il valore RTT (Round trip time) tra la posizione edge di CloudFront e la posizione dell’origine. Se una richiesta da una posizione edge di CloudFront va all’origine più vicina, il valore RTT è inferiore. Tuttavia, se la richiesta proviene da una posizione edge geograficamente distante dall'origine, ciò incide sul valore TTFB. Per ottimizzare il valore RTT, replica il server di origine in più regioni geograficamente più vicine ai tuoi utenti. Quindi configura il DNS del tuo nome di dominio di origine in modo che indirizzi la richiesta ai server di origine in base alla latenza o alla geolocalizzazione. Se utilizzi Amazon Route 53 come provider DNS, consulta Scelta di una policy di routing per ulteriori informazioni.
- Attiva la compressione automatica di CloudFront per comprimere i file e ridurre la velocità di download. Se il formato del file non è supportato dalla compressione automatica di CloudFront, precomprimi il file nell’origine e forniscilo con l'intestazione Content-Encoding.
- Controlla la latenza dall'origine a CloudFront abilitando la metrica di latenza dell’origine. Nota: si applicano le tariffe di CloudWatch standard.
- Attiva CloudFront Origin Shield.
- Aggiungi le policy delle intestazioni Response con la funzionalità Intestazione Server-Timing attivata. Questa funzionalità può aiutarti a comprendere gli eventi che contribuiscono alla latenza tra CloudFront e l'origine.
Informazioni correlate
Come posso ridurre la latenza delle risposte lente di CloudFront?
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata un mese fa