Slow MySQL query, come risolvere questo problema?

Slow MySQL query, come risolvere questo problema?

Durante la gestione di un sito potrebbe esservi capitato di riscontrare un errore di “slow query MySQL“: se avete un sito in Joomla o WordPress, ad esempio, a determinate condizioni può essere un problema anche piuttosto serio. La cosa importante è non farsi prendere dal panico perchè, in questi casi, la cosa migliore è cercare di capire la causa del problema, e poi cercare di individuare delle possibili soluzioni.

Poichè le cause di un errore slow query possono essere numerose, cerchiamo anzitutto di capire bene di cosa si tratta.

Quando si lavora sui DBMS (DataBase Management System) in fase di progettazione e test delle applicazioni, è necessario definire delle query che rispondano alle necessità e siano, al tempo stesso, efficenti: per quanto la circostanza non capiti spesso su applicazioni come blog o portali web, se il livello di complicazione sale di parecchio possono capitare dei veri e propri rallentamenti sul database: slow query per l’appunto.

Il rallentamento nel caso di WordPress (ma vale anche sui siti in generale) può riflettersi sia a livello di backend che di frontend, e si esplica spesso spesso in parti della pagina che non vengono caricate a dovere, che impiegano più di qualche secondo per caricare e rendono difficile o impossibile l’accesso o la gestione del sito. In molti casi, gli hosting tendono a bloccare i siti che producono slow query, avvisando il webmaster del problema via email o dall’interfaccia di gestione, in molti casi (è bene specificare) senza alcuna garanzia sul ripristino deida ti o, addirittura, senza notifica all’utente.

A differenza di casi specifici, comunque, il tipo di hosting c’entra poco: se avete un problema di query MySQL lente dovrete provare ad ottimizzare il vostro sito lato database.

Quello che potete misurare all’inizio, ad esempio, è il numero di query in esecuzione, seguito dai tempi di generazione della pagina PHP: in WordPress, vi sarà d’aiuto un plugin come WP Page Load Stats. Questo plugin, anche se leggermente datato, può essere utilizzato nel periodo di prova per capire da cosa possa dipendere il problema di lentezza del database, e fornisce inoltre informazioni sull’uso della RAM, sui tempi di caricamento del sito e sul numero di query eseguite ad esempio sulla visualizzazione di un post del blog.

Per capire se si tratta di un problema di plugin, conviene disattivarli in blocco: già da ora, se il rallentamento è stato risolto dovreste aver individuato l’errore e la sua causa. In molti casi concreti, sono i plugin di cache a creare problemi di MySQL slow query.

Un’altra causa molto diffusa è, ad esempio, legata alla necessità di effettuare un dump di database molto corposo: in tal caso un errore di MySQL slow query è dietro l’angolo. Per ovviare al problema, a livello pratico, potete sfruttare tool come BigDump, oppure provare a caricare il dump via shell sfruttando la linea di comando.

Se il problema fosse legato al theme che state usando (strano, per la verità, ma potrebbe capitare), usate un theme di default e cercate di verificare se la lentezza si verifica ancora.

A livello più basso, per così dire, le query lente possono dipendere in teoria da problemi di connettività, di hardware, di software o possono essere legate a limitazioni sul numero di query eseguibili contemporaneamente. A parte la prima e l’ultima ipotesi, comunque, si tratta di circostanze davvero rare secondo me, ed ecco perchè dovremmo prima concentrarci su altre possibilità più plausibili.

Cause molto comune legate alle query lente possono essere, infatti:

  1. database molto corposi (se il sito è attivo da più di 4-5 anni ad esempio);
  2. 80-100 query per pagina (di solito per un sito WP sono la metà o quasi);
  3. plugin che usano i database in modo intensivo (plugin di cache, post correlati, alcuni di auto-ottimizzazione dei link in ingresso / SEO);
  4. pagine molto visitate che non vengono messe in cache correttamente (Google Analytics può aiutarvi ad individuarle).

Se il sito soffre di un problema del genere, comunque, potrebbe essere più complicato del previsto capirne i motivi e risolverli: per questo, potrebbe essere opportuno – ammesso che non si riesca a risolvere diversamente – chiedere la consulenza di un esperto del settore.


Ti piace questo articolo?

1 voto

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.

Slow MySQL query, come risolvere questo problema?

Durante la gestione di un sito potrebbe esservi capitato di …
Votato 10 / 10, campione di 1 utenti

Ti potrebbero interessare (Guide per webmaster):

Cerca altro nel sito

Clicca sul box, e scegli la sezione per vederne i contenuti.