Parliamo di velocità del sito: Time to First Byte (TTFB)

TTFB blog post

Quando si vuole risolvere un problema con un sito lento, sono disponibili alcune metriche utili per determinare le cause e le soluzioni. Una di queste metriche è il Time To First Byte (TTFB), una misura utilizzata da tutti i tool che valutano le prestazioni dei siti. È una metrica importante per misurare la velocità con cui il tuo sito web inizia a caricare in una location specifica o con una particolare combinazione di impostazioni. Comprendere il TTFB può aiutarti a capire meglio come funziona la velocità del sito, cosa rallenta il tuo e come risolvere i problemi.

Cos'è il Time To First Byte (TTFB)?

Il TTFB misura il tempo trascorso tra il momento in cui un utente effettua una richiesta HTTP, come il caricamento di una pagina, e il momento in cui il primo byte viene ricevuto dal browser del client. Molti utilizzano questo dato per testare la velocità del server e, anche se effettivamente il metodo funziona, in realtà c’è molto altro da scoprire. Se il sito che stai tentando di caricare utilizza un Content Management System (CMS) come WordPress, il server deve eseguire tutti i calcoli richiesti per produrre contenuti. Il servizio PHP deve caricare il tuo database MySQL, ottenere il contenuto, calcolare l'output HTML appropriato e restituirlo al visitatore del sito.

Se hai un CMS lento, tutti questi passaggi possono richiedere tempo e potresti ricevere risultati TTFB negativi, come 1-3 secondi o più. Ciò non significa necessariamente che il server di hosting è lento o presenta problemi. Spesso significa che hai troppi plugin o estensioni, non stai utilizzando un sistema di memorizzazione nella cache o stai utilizzando una vecchia versione di PHP. Ovviamente la storia è diversa se si sta misurando una pagina HTML statica con un TTFB lento. In quel caso, dovresti iniziare a investigare sul server stesso, poiché non ci sono altri fattori che influiscono sulle prestazioni del tuo sito.

In che modo la cache dinamica influisce sul TTFB?

Avere la cache dinamica è come avere il tuo barista di fiducia che sa cosa darti invece che dovergli ripeter ogni volta l’ordinazione. Sa quale drink ordinerai e può iniziare a prepararlo appena entri nel locale, servendoti molto più velocemente. La cache funziona in modo simile, memorizza i dati richiesti all’apertura di una pagina, per poterli servire anche la prossima volta.

La nostra Cache Dinamica utilizza NGINX come reverse proxy. Ciò significa che tutte le elaborazioni dei servizi PHP e MySQL sono archiviati nella RAM del server. Quando un visitatore riceve una risposta in cache da noi, è come se caricasse una pagina HTML statica, solo più velocemente! È più veloce perché il contenuto viene servito dalla memoria e non dal disco rigido del server. Sebbene gli SSD siano super veloci, nulla è paragonabile alla RAM del server quando si tratta di velocità.

Se hai la cache dinamica ma il TTFB è ancora lento, ci sono due cose da verificare:

  • Stai misurando un risultato memorizzato nella cache? Il modo più semplice per verificarlo è eseguire il test più di una volta. È normale ottenere un primo risultato lento e risultati più veloci in seguito. Eseguire più test garantisce che stai misurando i risultati nella cache.
  • Stai misurando da una posizione geografica vicina? Se stai provando da una postazione remota, è normale che tu abbia una latenza di rete elevata. Se vuoi che il tuo sito sia veloce da una varietà di luoghi, prendi in considerazione l'implementazione di un CDN.

Tutte le pagine possono essere memorizzate nella cache?

Non tutte le pagine possono essere completamente memorizzate nella cache. Le pagine di checkout, i “carrelli” degli eCommerce e gli utenti registrati sono sono sottoposti a circostanze particolari. Ciò non significa che il TTFB debba essere lento. Il primo passo è assicurarsi di utilizzare PHP 7.1 o successivo. Noi abbiamo opcache abilitato di default e WordPress e gli altri CMS funzionano molto più velocemente. È possibile poi utilizzare il nostro servizio Memcached per migliorare il tempo impiegato dall'applicazione a ottenere dati dal server MySQL. Ultimo ma non meno importante, controlla i plugin che stai utilizzando. Quanti ne stai utilizzando? Sono di alta qualità? Quanto influiscono sul processo di rendering della tua pagina?

Il caching tende a camuffare siti mal costruiti nascondendo problemi di sviluppo. Se il tuo sito si carica velocemente senza cache, significa che ha un buon codice ed è "sano". Non devi fare affidamento esclusivamente sul nostro Caching dinamico o sui tuoi plugin di cache per avere un sito web veloce.

In che modo il CDN influisce sul TTFB?

Come accennato in precedenza, il TTFB è influenzato dalla velocità della rete tra il server e il tuo browser (o lo strumento che si sta utilizzando per testare la velocità). L'utilizzo di un CDN può migliorare la velocità del tuo sito, se ha nodi vicino alla tua posizione geografica. Si noti tuttavia, che se si ha un CDN come CloudFlare abilitato, viene misurato il TTFB tra il tuo browser e il nodo CDN che serve la tua richiesta, non tra te e il server SiteGround. Se il CDN non ha ancora memorizzato nella cache il contenuto, deve prima chiamare il server SiteGround, ottenere i dati, distribuirlo e quindi servirlo. Ciò potrebbe causare ulteriore ritardo prima che il primo byte sia ricevuto.

Per evitare questo, assicurati di aver abilitato la cache per la tua CDN e controlla se ha un nodo vicino alla tua destinazione geografica. Vale la pena sperimentare con diversi fornitori di CDN nel caso in cui i visitatori si trovino in una parte del mondo che non è coperta da quella attuale.

Sviluppo del prodotto - Tecnico

Entusiasta di tutte le applicazioni Open Source che ti possono venire in mente, ma principalmente di WordPress. Aggiungi un pizzico di amore per il web-design, nuove tecnologie, ottimizzazione per i motori di ricerca e ci sei quasi!

Risposta

* (Richiesto)