Time to first byte
Time to First Byte (TTFB) si riferisce al tempo che intercorre tra la richiesta di una pagina da parte del browser e la ricezione del primo byte di informazioni dal server. Questo tempo include la ricerca DNS e la creazione della connessione tramite un handshake TCP e un handshake TLS se la richiesta viene effettuata tramite HTTPS.
TTFB è il tempo che intercorre tra l’inizio della richiesta e l’inizio della risposta, in millisecondi:
Time to First Byte
Time to first byte (TTFB) è una misurazione utilizzata come indicazione della reattività di un web server o di un’altra risorsa di rete.
TTFB misura la durata tra l’utente o il client che effettua una richiesta HTTP e il primo byte della pagina ricevuto dal browser del client. Questo tempo è composto dal tempo di connessione socket, dal tempo impiegato per l’invio e dal tempo impiegato per ottenere il primo byte della pagina.
Sebbene a volte frainteso come un calcolo post-DNS, il calcolo originale di TTFB in rete include sempre la latenza di rete nella misurazione del tempo impiegato da una risorsa per iniziare il caricamento. Spesso, una dimensione TTFB più piccola (più veloce) è vista come un punto di riferimento di un’applicazione server ben configurata. Ad esempio, un tempo inferiore per il primo byte potrebbe indicare un minor numero di calcoli dinamici eseguiti dal server web, sebbene ciò sia spesso dovuto alla memorizzazione nella cache a livello DNS, server o applicazione.
Più comunemente, un TTFB molto basso si osserva con pagine web servite staticamente, mentre un TTFB più grande si osserva spesso con richieste di dati più grandi e dinamiche estratte da un database.
Utilizzi nello sviluppo web
Il tempo per il primo byte è importante per una pagina web poiché indica pagine che si caricano lentamente a causa di calcoli lato server che potrebbero essere meglio serviti come script lato client. Spesso ciò include semplici script e calcoli come la transizione di immagini che non sono gif e sono transizionate utilizzando JavaScript per modificare i loro livelli di trasparenza. Ciò può spesso velocizzare un sito web scaricando più immagini più piccole tramite socket anziché un’immagine grande. Tuttavia questa tecnica è più intensiva sul computer del client e su PC più vecchi può rallentare la pagina web durante il rendering effettivo.
Importanza
Il TTFB è spesso utilizzato dai motori di ricerca web come Google e Yahoo per migliorare le classifiche di ricerca poiché un sito web risponderà alla richiesta più velocemente e sarà utilizzabile prima che altri siti web possano farlo.
Ci sono degli svantaggi in questa metrica poiché un server web può inviare solo la prima parte dell’intestazione prima che il contenuto sia pronto per l’invio per ridurre il proprio TTFB.
Sebbene questo possa sembrare ingannevole, può essere utilizzato per informare l’utente che il server web è in effetti attivo e risponderà con il contenuto a breve. Ci sono diversi motivi per cui questo inganno è utile, incluso il fatto che causa la creazione di una connessione persistente, che si traduce in meno tentativi di ripetizione da parte di un browser o utente poiché ha già ricevuto una connessione e ora si sta preparando per il download del contenuto.
TTFB vs tempo di caricamento
Il tempo di caricamento è il tempo impiegato da un browser per caricare una pagina web e renderla utilizzabile. Spesso nella distribuzione di pagine web una pagina viene compressa nel formato Gzip per ridurre le dimensioni del download.
Questa pratica impedisce che il primo byte venga inviato fino al completamento della compressione e aumenta significativamente il TTFB. Il TTFB può passare da 100–200 ms a 1000–20000 ms, ma la pagina si caricherà molto più velocemente e sarà pronta per l’utente in un lasso di tempo molto più breve. Molti siti web vedono un aumento comune di 5–10 volte nel TTFB ma un tempo di risposta del browser molto più rapido che ottiene una riduzione del tempo di caricamento del 20%.
Come ridurre il TTFB
Sai come misurare il TTFB, ora approfondiamo alcune tecniche che ti aiuteranno a ridurlo.
Affidati a un server host veloce
Il primo passo per migliorare il TTFB è affidarsi a un Managed Service Provider (MSP) di alta qualità e a un server host veloce.
Tuttavia, molti proprietari decidono di utilizzare un servizio di hosting condiviso. Sebbene più economico, con questo tipo di hosting condividi le risorse del tuo server (CPU, larghezza di banda, memoria) con altri siti web.
Ciò può rallentare i tempi di risposta, quindi prendi in considerazione di investire in un servizio di hosting dedicato.
Le cose che dovresti cercare quando aggiorni/scelgi il tuo piano di hosting sono alta disponibilità, sicurezza e supporto.
Riduci il numero di plugin di terze parti e scegli un tema veloce (per WordPress e altri siti CMS)
Librerie di terze parti e temi gonfi possono seriamente danneggiare i tempi di risposta.
È allettante aggiungere molte funzionalità al tuo sito e utilizzare un tema con elementi dinamici. Soprattutto quando ci sono migliaia di opzioni disponibili. Tuttavia, aggiungere troppi plugin e utilizzare un tema pesante aumenta la quantità di codice che deve essere eseguito, con conseguente rallentamento della velocità della pagina.
Questo è un problema comune quando si lavora con sistemi di gestione dei contenuti come WordPress o Shopify.
Ecco perché è essenziale scegliere un tema leggero e verificare ogni plugin o app prima di installarlo. Se la velocità della pagina subisce un calo dopo l’aggiunta di un nuovo plugin, potrebbe essere meglio scegliere un’altra opzione. In molti casi, la funzionalità aggiunta non vale l’enorme sovraccarico del server.
Implementa livelli di memorizzazione nella cache
Uno dei modi più semplici per ridurre il TTFB e velocizzare il tuo sito Web in generale è impostare un livello di memorizzazione nella cache.
La memorizzazione nella cache significa memorizzare una copia delle risorse di un sito in una posizione diversa dal server di origine. Una volta memorizzate nella cache, le risorse non devono essere scaricate nuovamente dal server ogni volta. Ciò comporta tempi di caricamento più rapidi e un minore sovraccarico del server.
Due tecniche di memorizzazione nella cache diffuse sono la memorizzazione nella cache di pagine complete e la memorizzazione nella cache di oggetti.
La cache di pagine complete significa che l’intero HTML per la pagina verrà memorizzato nella cache. Le richieste successive per la pagina verranno servite dalla cache anziché essere elaborate e ricostruite di nuovo, velocizzando così i tempi di risposta.
La memorizzazione nella cache di oggetti si riferisce alla memorizzazione delle query del database, che si traduce in un recupero più rapido dei dati dal database.
Puoi impostare la memorizzazione nella cache manualmente tramite le intestazioni HTTP del tuo server o utilizzare un servizio come WP-Assistenza per occuparsi del processo per te.