Debug dei siti WordPress lenti con Query Monitor

Procédure

Che cos'è Query Monitor?

WordPress, il CMS più diffuso, è molto spesso soggetto a problemi di prestazioni. Tuttavia, questo CMS non fornisce uno strumento nativo per analizzare i colli di bottiglia che causano la lentezza, il che non facilita l'analisi.

Query Monitor è un plugin gratuito per WordPress che fornisce gli strumenti di profilazione necessari durante l'esecuzione di ogni pagina generata da WordPress per identificare i punti da controllare in caso di problemi di velocità e prestazioni.

Mentre il metodo abituale consiste nel procedere per tentativi disattivando ogni plugin finché il problema non scompare, Query Monitor adotta un nuovo approccio identificando immediatamente il plugin e/o il tema che causano una richiesta SQL o HTTP lenta.

In questa guida scoprirete tutto quello che c'è da sapere per identificare i problemi di prestazioni con Query Monitor.

Come si installa Query Monitor?

Per installare Query Monitor, accedete alla dashboard del vostro sito WordPress e andate su Estensioni e poi su Aggiungi.

Debug dei siti WordPress lenti con Query Monitor

Cercate il plugin Query Monitor e installatelo.

Debug dei siti WordPress lenti con Query Monitor

Una volta installato, attivare l'estensione.

Debug dei siti WordPress lenti con Query Monitor

L'interfaccia di Query Monitor

Non appena il plugin è attivo, nella barra dei menu di WordPress appare un nuovo menu. Facendo clic sul menu, viene visualizzata la finestra di debug:

Debug dei siti WordPress lenti con Query Monitor

Sarà quindi necessario andare alla pagina in cui si riscontrano problemi di prestazioni e fare clic sul menu per visualizzare i dettagli.

Non dimenticate di disattivare il plugin Query Monitor non appena avete terminato il debug, poiché la generazione di questi dati di debug è di per sé piuttosto onerosa e può causare problemi di prestazioni.

Menu di riepilogo

Il menu di riepilogo di Query Monitor mostra l'URL attualmente aperto.

Il tempo di generazione della pagina è il tempo in cui PHP esegue lo script. Il limite indicato di seguito è il max_execution_time definito per PHP. In generale, il tempo di generazione della pagina dovrebbe essere approssimativamente uguale al tempo di attesa del browser (visibile dalla console degli sviluppatori):

Debug dei siti WordPress lenti con Query Monitor

In questo esempio, si può notare un problema: il tempo di generazione della pagina è di soli 377 ms, ma il browser impiega fino a 959 ms prima di ricevere la pagina. Questo problema si verifica quando la rete tra il browser web e il server del sito è lenta. In questo caso, sarà necessario impostare un server più vicino al client utilizzando Ipxchange o Cloudflare.

La sezione"Picco di utilizzo della memoria" indica il consumo massimo di memoria del sito web durante la generazione della pagina. Il limite di WordPress è definito dalla costante WP_MEMORY_LIMIT in wp-config.php, mentre il limite del server è definito dal valore memory_limit impostato dall'interfaccia di cPanel.

La sezione successiva,"Query al database", mostra il tempo impiegato per recuperare informazioni dal database.

La sezione"Chiamate API HTTP" mostra le richieste HTTP effettuate dal sito durante la generazione delle pagine per accedere ad API esterne. Il tempo di risposta di un'API dipende inevitabilmente dal server su cui l'API è ospitata.

Le ultime due sezioni,"Object cache" e"Opcode cache", indicano lo stato di utilizzo di queste due cache. Va ricordato che la cache degli oggetti memorizza gli oggetti di WordPress per ridurre il numero di richieste MySQL al database e quindi ottimizzare i tempi di risposta, mentre la cache Opcode consente a PHP di non ricompilare ogni volta il file PHP. Una volta che un file PHP è stato eseguito per la prima volta, la cache Opcode memorizza l'Opcode del file PHP (la versione compilata e binaria del file PHP) per l'esecuzione futura.

Debug dei siti WordPress lenti con Query Monitor

Per saperne di più sulle sfide della cache degli oggetti, si consiglia di leggere la nostra documentazione dedicata all'impostazione di una cache persistente degli oggetti con Redis.

Menu Errori PHP

Debug dei siti WordPress lenti con Query Monitor

Questo menu visualizza gli errori PHP incontrati da WordPress (non necessariamente errori fatali e/o bloccanti). Spesso sono nascosti e difficili da trovare senza modificare le soglie di segnalazione degli errori PHP. Tuttavia, Query Monitor consente di visualizzarli rapidamente senza modificare alcuna configurazione. La colonna"Componente" mostra l'origine dello script che causa l'errore, sia che provenga dal nucleo di WordPress, da un tema o da un particolare plugin. La colonna"Posizione" mostra il file e il suo numero di riga.

Se si verificano errori PHP, anche se non sono bloccanti, le prestazioni potrebbero risentirne. Se ci sono molti errori da registrare, il processo PHP dovrà aprire, scrivere e chiudere il file di log PHP a ogni nuova visita. Se si dispone di deprecazioni, regolare le soglie di segnalazione degli errori PHP in modo che non siano inclusi nei file di log, per evitare di scrivere inutilmente sul file di log PHP se non è possibile risolverli correttamente al momento.

Menu Query

Questo menu raggruppa le query SQL eseguite da WordPress, nonché i componenti dietro le query e i loro tempi di esecuzione:

Debug dei siti WordPress lenti con Query Monitor

Se notate query particolarmente lente :

  • Provate a disattivare il plugin che sta dietro alla query se non fornisce alcuna funzionalità vitale al vostro sito web (ad esempio un plugin per le statistiche) o cambiate tema se la query proviene da un tema mal progettato.
  • Se la query si rivolge a una tabella che è possibile ripulire, non esitate a ripulirla in modo da ridurne le dimensioni e rendere più agevole la ricerca dei dati. Ad esempio, è possibile eliminare le revisioni degli articoli in wp_posts per ridurre le dimensioni di questa tabella, oppure eliminare le transizioni scadute in wp_options.
  • Se la richiesta deriva da una richiesta di un oggetto di WordPress (come un Custom Post Type), è possibile ridurre l'esecuzione di questo tipo di richieste impostando una cache dell'oggetto.
  • Se desiderate avere un server MySQL più potente, potete semplicemente migrare verso un'offerta più potente, come un VPS PRO, che sarà quindi in grado di eseguire la stessa richiesta sullo stesso set di dati a una velocità maggiore.

Menu "Chiamate API HTTP

Il menu "Chiamate API HTTP", un po' più in basso nell'elenco, consente di visualizzare le richieste API effettuate dal sito durante il caricamento della pagina:

Debug dei siti WordPress lenti con Query Monitor

Se si nota un'API che risponde troppo lentamente, si consiglia di disattivarla disattivando il plugin associato.

Se, invece, la durata è approssimativamente arrotondata (ad esempio 30,001s), ciò potrebbe significare che la richiesta API supera un limite di tempo, spesso dovuto al blocco del firewall. Se l'API accede a una risorsa che non è sulla porta standard 80 o 443, non dimenticate di verificare che la richiesta sia autorizzata dal firewall del server cPanel.

Conclusione

Ora sapete come utilizzare il plugin gratuito Query Monitor per identificare la fonte dei problemi di rallentamento del vostro sito WordPress. Sentitevi liberi di condividere i vostri pensieri e le vostre domande nella sezione commenti.

Vota questo articolo :

5/5 | 1 parere

Questo articolo vi è stato utile ?

Article utile

Article non utileNo

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Articoli simili

1mn lettura

Come si configura Cloudflare su un sito web ospitato su cPanel?

3mn lettura

Come si usa Memcached sul proprio sito web con cPanel?

4mn lettura

Utilizzo di Redis come cache persistente di oggetti per WordPress su cPanel

4mn lettura

Velocizzate il vostro sito con Fastest Cache - Cache Varnish


Fate una domanda al team LWS e alla sua comunità