Ridurre i tempi di risposta del server

La sezione Opportunità del report Lighthouse riporta il tempo di risposta del server, ovvero il tempo necessario al browser di un utente per ricevere il primo byte dei contenuti della pagina dopo aver effettuato la richiesta:

Uno screenshot del controllo Tempo di risposta del server Lighthouse basso

Tempi di risposta del server lenti influiscono sulle prestazioni

Questo controllo non va a buon fine quando il browser attende più di 600 ms affinché il server risponda alla richiesta del documento principale. Gli utenti non amano quando le pagine impiegano molto tempo a caricarsi. Tempi di risposta del server lenti sono una possibile causa di tempi di caricamento delle pagine lunghi.

Quando gli utenti raggiungono un URL nel proprio browser web, quest'ultimo invia una richiesta di rete per recuperare i contenuti. Il server riceve la richiesta e restituisce i contenuti della pagina.

Il server potrebbe dover svolgere molto lavoro per restituire una pagina con tutti i contenuti desiderati dagli utenti. Ad esempio, se gli utenti consultano la cronologia degli ordini, il server deve recuperare la cronologia di ciascun utente da un database e inserire il contenuto nella pagina. Ottimizzare il server per eseguire questo tipo di attività il più rapidamente possibile è un modo per ridurre il tempo che gli utenti impiegano ad attendere il caricamento delle pagine.

Anche quando il server non deve eseguire molti calcoli, la latenza di rete tra il client e il server può comportare tempi di risposta del server lenti.

Come migliorare i tempi di risposta del server

Il primo passaggio per migliorare i tempi di risposta del server consiste nell'identificare le attività concettuali di base che il server deve completare per restituire i contenuti della pagina e poi misurare il tempo necessario per ciascuna di queste attività. Una volta identificate le attività più lunghe, cerca dei modi per velocizzarle.

Esistono molte possibili cause di risposte lente del server e, di conseguenza, molti modi per migliorare:

  • Ottimizza la logica dell'applicazione del server per preparare le pagine più rapidamente. Se utilizzi un framework per il server, potresti trovare consigli su come eseguire questa operazione nel framework.
  • Ottimizza il modo in cui il server esegue query sui database o esegui la migrazione a sistemi di database più veloci.
  • Esegui l'upgrade dell'hardware del server per avere più memoria o CPU.

Usa una CDN per ridurre la latenza di rete. Questo è particolarmente efficace se il documento può essere memorizzato nella cache nel nodo perimetrale della CDN.

Per ulteriori dettagli, consulta la guida su come ottimizzare il tempo di risposta del browser.

Indicazioni specifiche per lo stack

Drupal

Offload il traffico con uno o più moduli di memorizzazione nella cache Drupal, come Internal Page Cache, Internal Dynamic Page Cache e BigPipe. Abbinali a una CDN per migliorare ulteriormente il tempo di risposta. I server hosting dovrebbero utilizzare OPcache PHP. Valuta l'utilizzo di una memorizzazione nella cache della memoria come Redis o Memcached per ridurre i tempi di query del database. Infine, utilizza temi, moduli e server più veloci per ridurre il tempo di risposta del server.

Magento

Utilizza l'integrazione Varnish di Magento.

React

Se utilizzi il rendering lato server dei componenti React, potresti utilizzare renderToNodeStream() o renderToStaticNodeStream() per consentire al client di ricevere e idratare parti diverse del markup, anziché tutti contemporaneamente.

WordPress

Scegli un tema leggero (idealmente un tema a blocchi) e implementa il caching della pagina completa o una soluzione di sito statico. Disattiva i plug-in non necessari per ridurre al minimo il carico del server.

Valuta la possibilità di eseguire l'upgrade del tuo hosting a un servizio gestito o dedicato.

Risorse