Ridurre i tempi di risposta del server

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

Uno screenshot dei tempi di risposta di Lighthouse Server sono bassi di controllo

I 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. Agli utenti non piace quando il caricamento delle pagine richiede molto tempo. I tempi di risposta del server lenti sono una delle possibili cause di lunghi caricamenti delle pagine.

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. L'ottimizzazione del server in modo che funzioni in questo modo il più rapidamente possibile è un modo per ridurre il tempo di attesa degli utenti per il caricamento delle pagine.

Anche quando il server non deve svolgere molto lavoro, la latenza di rete tra il client e il server può rallentare i tempi di risposta del server.

Come migliorare i tempi di risposta del server

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

Le cause della lentezza di risposta del server sono molteplici e, di conseguenza, esistono molti modi per migliorare:

  • Ottimizza la logica dell'applicazione del server per preparare più velocemente le pagine. Se utilizzi un framework del server, il framework potrebbe avere dei consigli su come farlo.
  • Ottimizza il modo in cui il tuo server interroga i 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. Ciò è particolarmente efficace se il documento può essere memorizzato nella cache sul nodo perimetrale della CDN.

Per ulteriori dettagli, consulta la Guida TTFB di Optimize.

Indicazioni specifiche per stack

Drupal

Temi, moduli e specifiche del server contribuiscono al tempo di risposta del server. Valuta la possibilità di utilizzare un tema più ottimizzato, selezionando con cura un modulo di ottimizzazione o eseguendo l'upgrade del server. I server di hosting dovrebbero utilizzare la memorizzazione nella cache opcode PHP, sistemi di memorizzazione nella cache di memoria come memcached o Redis per ridurre i tempi di query del database e una logica dell'applicazione ottimizzata per preparare le pagine più velocemente.

Magento

Utilizza l'integrazione Varnish di Magento.

React

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

WordPress

Scegli un tema leggero (preferibilmente un tema a blocchi) e implementa la memorizzazione nella cache a pagina intera o una soluzione del sito statica. Disabilita i plug-in non necessari per ridurre al minimo l'overhead del server.

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

Risorse