Una pagina lenta è lenta in uno di tre punti: il server prima di spedire un byte, la rete nel mezzo, o il browser dopo che è arrivata. Ognuno ha un rimedio diverso e nessuno aiuta gli altri due. Indovinare male costa un fine settimana e non cambia nulla.
1. Quanto passa prima del primo byte
curl -sS -o /dev/null -w 'dns %{time_namelookup} connect %{time_connect} tls %{time_appconnect} ttfb %{time_starttransfer} total %{time_total}\
' https://yourdomain.com/
Un TTFB oltre i 600 ms circa con un tempo di connessione piccolo è il server che pensa. Sotto i 200 ms il server non è il tuo problema, per quanto lenta possa sembrarti la pagina.
2. È l'applicazione o il database
# is anything slow enough to be logged
sudo tail -f /var/log/mysql/mysql-slow.log
Vedi Il log delle query lente. Una sola query da 900 ms spiega molti più siti di quanti ne avrebbe mai spiegati qualsiasi quantità di cache.
3. Quanto pesa davvero la pagina
Apri il pannello di rete, ordina per dimensione e leggi le prime cinque righe. Nella maggior parte dei siti sono tutte immagini — vedi Immagini più pesanti dell'intera pagina. Leggere per bene un diagramma a cascata è trattato in un articolo a parte.
4. Che cosa riceve un visitatore vero
La connessione del tuo ufficio non è la misura. Prova da dove stanno i tuoi clienti, con la rete rallentata, su un telefono di fascia media.