5 consigli essenziali per migliorare il tuo TTFB Magento

Pubblicato: 2019-01-08

Questo è un post dell'ospite di Vasili Nikolaev.

Il tempo al primo byte (TTFB) è una delle metriche di velocità più importanti di un sito web. Indica quanto tempo passerà dopo che un utente ha inserito l'URL del tuo negozio Magento e il tempo in cui riceve una risposta, anche piccola di 1 byte (da cui il nome, "tempo al primo byte").

Il tempo per il primo byte è vitale sia per gli esseri umani (a loro non piace aspettare) che per i robot dei motori di ricerca (Google odia i siti Web lenti e li classifica più in basso ― fai clic qui per saperne di più sulla soluzione SEO Magento 2 di prima classe di MageWorx).

Ma allo stesso tempo, ci sono prove convincenti da John Mueller, una delle teste parlanti di Google, che Google non utilizza TTFB per le classifiche:

Magento 2 TTFB | Blog di MageWorx

Quindi, il nostro consiglio è di non ossessionare troppo TTFB per la SEO, ma concentrarsi invece sull'esperienza dell'utente e sulle prestazioni del negozio.

Perché TTFB è più importante del caricamento a pagina intera (chiamato "time to last byte")? Bene, perché prima carichi il primo byte, più velocemente gli utenti inizieranno a leggere i tuoi contenuti. Non importa che non possano vedere tutte le immagini sulla pagina all'istante. È più importante offrire agli utenti qualcosa da fare mentre il tuo server web è impegnato a caricare il resto del contenuto.

Sommario

  • 1. Comprendi i tuoi colli di bottiglia per eliminarli
    • Cos'è un buon TTFB?
  • 2. Migrare a un motore di database più adatto
  • 3. Abbina la configurazione del server alle tue attuali esigenze di traffico
  • 4. Imposta una migliore soluzione di memorizzazione nella cache
  • 5. Sbarazzati delle estensioni inutili
  • Suggerimento bonus: modifica le impostazioni di registrazione del negozio e dei clienti
  • Una battaglia costante per le prestazioni

1. Comprendi i tuoi colli di bottiglia per eliminarli

Cos'è un buon TTFB?

Magento 2 TTFB | Blog di MageWorx
Google afferma che l'obiettivo è un TTFB inferiore a 200 ms. Al di sotto di 200 ms il motore di ricerca ti classificherà più in alto. Una volta superato questo valore, Google applicherà sanzioni al tuo sito web. 600 ms o più significano che non puoi nemmeno superare il test TTFB di Google.

Ci sono molti fattori che influenzeranno il tuo TTFB. Senza un ordine particolare:

  • configurazione e risorse del server web,
  • velocità di risoluzione del server dei nomi,
  • tempi di esecuzione del codice in pagina,
  • soluzioni di memorizzazione nella cache di back-end implementate,
  • congettura di rete.

Controlla il tuo valore TTFB con un servizio di terze parti o utilizzando il test TTFB di Google. Puoi anche confrontare i tuoi risultati con i siti Web popolari o con i tuoi concorrenti qui per avere una prospettiva unica su come viene caricato il tuo negozio per gli utenti mobili.

Magento 2 TTFB | Blog di MageWorx Un altro ottimo strumento diagnostico è Magento 2 Profiler . Con esso, puoi facilmente suddividere ogni richiesta di pagina in blocchi più piccoli che sono veloci da visualizzare e analizzare.

Nella tabella, prestare particolare attenzione a 2 valori importanti, Tempo e Conteggio. Il tempo si spiega da sé. È il ritardo effettivo tra la richiesta dell'utente e la risposta del server. La riga Cnt corrisponde a quante volte questo elemento è stato chiamato prima di creare l'output.

Vale la pena utilizzare Database Profiler insieme al profiler predefinito di Magento 2 per analizzare le query del database.

Magento 2 TTFB | Blog di MageWorx Questo è il primo passo che dovresti fare: abilitare Magento Profiler e guardare le pagine che hanno i maggiori problemi con TTFB. Sebbene tu possa utilizzare il profiler predefinito, ti consigliamo di configurare Profiler SQL. È gratuito e offre una comoda panoramica del numero di query per sessione.

Il Profiler suddividerà tutte le richieste in parti più piccole in modo da poter vedere immediatamente quali sezioni ti trascinano verso il basso.

2. Migrare a un motore di database più adatto

Il database del negozio Magento 2 può facilmente diventare il più grande collo di bottiglia delle prestazioni se è inefficiente, lento o utilizza un motore di archiviazione che non è la scelta migliore per la gestione di Magento.

Perché questo è importante? C'è un'ampia scelta di vari motori di archiviazione per MySQL. Abbiamo contato almeno 10 soluzioni supportate nella documentazione ufficiale di MySQL e ce ne sono ancora di più in circolazione.

Sebbene sia possibile utilizzare Magento con il motore MySQL MyISAM predefinito, motori di database alternativi come MariaDB Ari un motore di archiviazione o Percona XtraDB possono rendere il tuo negozio più stabile e (a volte) più veloce rispetto alla configurazione predefinita.

Ad esempio, il motore Aria utilizza un approccio più intelligente nei casi in cui Magento forza il motore di archiviazione a utilizzare molte tabelle temporanee.

Percona è un altro fork di MySQL che ha integrato nel tempo una serie di modifiche alle prestazioni per velocizzare le query del database. Rispetto a MyISAM , funziona molto più velocemente con molte query parallele ed è specializzato nell'elaborazione delle transazioni.

Anche se il miglior consiglio per l'ottimizzazione del database sarebbe quello di esaminare attentamente le tue esigenze e scegliere il motore più adatto a te, abbiamo alcuni suggerimenti che saranno utili a tutti:

  • evitare MySQL predefinito per la ricerca in negozio. Installa Elasticsearch per velocizzare tutte le query di ricerca sul tuo sito web,
  • seleziona il motore di database che funziona meglio per te.

3. Abbina la configurazione del server alle tue attuali esigenze di traffico

Risparmiare sulle infrastrutture non è una buona idea. Nel tempo, un'attività in costante crescita vedrà più clienti, più transazioni e più ordini. Quindi, è salutare mantenere la tua configurazione all'80% della capacità di adattarsi ai picchi di utilizzo casuale e al traffico pedonale generato dagli eventi. Quel 20% può fare molto per mantenere un livello di prestazioni decente in tutte le situazioni.

Un team di hosting degno di questo nome ti dirà quali requisiti di sistema sono necessari per funzionare senza intoppi. Ma se sei cresciuto rapidamente in un periodo di tempo, diventa tua responsabilità delineare una tabella di marcia per l'aggiornamento.

Ci sono una serie di punti critici nel tuo negozio Magento che influenzeranno pesantemente i tuoi requisiti di sistema:

  • dimensione del negozio (numero di visualizzazioni del negozio),
  • categorie e SKU nel catalogo (con attributi e set di attributi),
  • numeri di traffico medi (visualizzazioni di pagina medie e picchi storici),
  • transazioni giornaliere (download digitali, pagamenti e operazioni simili).

In generale, il tuo traffico medio influenzerà direttamente la potenza della CPU di cui hai bisogno. Quindi, dopo aver scoperto la configurazione ottimale della CPU, abbina la tua RAM ai requisiti della tua CPU per creare un profilo del server web bilanciato.

La dimensione dell'archiviazione del database dipende dalla tua RAM attuale, quindi dovresti raccogliere quanto basta per coprire tutte le esigenze attuali. Crea anche un cuscino performante per un po' di respiro. Il tuo obiettivo è mantenere sempre almeno il 20-25% di CPU e RAM di riserva per far fronte a picchi di traffico occasionali.

4. Imposta una migliore soluzione di memorizzazione nella cache

La memorizzazione nella cache del sito Web è la cosa migliore dopo l'invenzione delle patatine fritte. La cache del server migliora la rapidità del sito Web facendolo sembrare molto più veloce. La memorizzazione nella cache funziona spostando i dati utilizzati di frequente da SSD o un disco rigido alla RAM.

Laddove gli HDD possono leggere in sequenza dati fino a 200 MB/sec e gli SSD fino a 3200, i moduli DRAM possono arrivare fino a 20 GB/s. Il che ci dà la differenza di x10 o almeno un ordine di grandezza.

Sia Redis che Varnish sono uno degli aggiornamenti più popolari per i negozi Magento. È un'opzione di memorizzazione nella cache consigliata per Magento 2. Entrambe le soluzioni funzionano alla grande anche con Magento 1.

Varnish è uno strumento impegnativo da configurare, ma se eseguito correttamente offre valori TTFB in 100-200 ms. Per le configurazioni della cache a pagina intera, TTFB oscillerà entro 250 ms.

Un altro notevole vantaggio di Varnish: funziona su più pagine web. Sebbene FPC non funzioni per le pagine con molti contenuti dinamici, Varnish offre prestazioni migliori anche per questi casi d'uso difficili.

5. Sbarazzati delle estensioni inutili

Ad essere onesti, disabilitare le estensioni inutilizzate è il consiglio n. 1 per qualsiasi negozio Magento 2, ma spesso viene trascurato. Ogni estensione in esecuzione sul tuo sito Web consumerà alcune delle tue risorse. Se sono configurati male, potrebbero anche rallentare il tuo TTFB.

Ricorda: il server deve eseguire questo codice prima di inviare qualsiasi feedback all'utente.

La pulizia dell'elenco delle estensioni accelererà anche Magento. Anche se non puoi disabilitarne nessuno, mantieni aggiornati sia il tuo negozio Magento che le estensioni di terze parti per beneficiare di correzioni di bug e ottimizzazioni che miglioreranno sicuramente le prestazioni del tuo sito .

Suggerimento bonus: modifica le impostazioni di registrazione del negozio e dei clienti

Assicurati di disattivare la registrazione dei clienti Magento. Ciò ti aiuterà a ridurre il tempo speso per le query del database. Non ha un impatto enorme poiché la registrazione dei clienti è un'attività relativamente minore. L'aumento delle prestazioni dipenderà dal numero di clienti che attualmente visitano il tuo negozio.

Non ti consigliamo di disattivare la registrazione del negozio. È uno strumento prezioso che aiuta nella risoluzione dei problemi di Magento. Ma invece di lasciare che i registri del negozio occupino tempo del server, puoi spostarli su un servizio di terze parti, come Papertrail.

Una battaglia costante per le prestazioni

Non ci sono due negozi Magento uguali. Ognuno di loro dovrà affrontare sfide diverse per ottimizzare la velocità delle proprie vetrine. Ciò può essere particolarmente vero per i siti Web Magento più vecchi (e più grandi) che hanno molte estensioni complesse di terze parti, database di grandi dimensioni e più negozi.

E anche se non possiamo mai "vincere" questa battaglia per le prestazioni, il nostro obiettivo comune è rendere i negozi Magento i migliori della categoria in termini di velocità, esperienza utente e sicurezza tra tutti i siti di e-commerce.


Circa l'autore

Vasili Nikolaev è in una caccia al tesoro permanente per scovare i suggerimenti più efficaci per rendere un po' più facile la vita dei proprietari di negozi. Non c'è niente di più soddisfacente che trovare per lui un'ottima soluzione a un problema difficile.