Ottimizzare il caching delle query in MySQL

29 settembre 2009

I siti Web che utilizzano un database per l’archiviazione e la manipolazione delle informazioni inviano richieste sotto forma di query ad un DBMS, come per esempio MySQL, ognuna di queste interrogazioni ha bisogno di risorse per poter essere eseguita e le risorse possono essere prelevate dal sistema che gestisce la macchina ospitante, migliore sarà la configurazione hardware della postazione maggiore sarà il livello delle prestazioni fornite durante la soddisfazione delle richieste.

Ma soprattutto nei siti Web ad alto traffico, accade che le richieste (anche simultanee) inviate al DBMS possano essere numerose, incidendo sulla capacità di risposta del Web server stesso, causando rallentamenti e, nei casi più gravi, blocchi del sistema.

Una delle soluzioni messe a disposizione da MySQL per il problema appena esposto è quella relativa al caching delle query: un meccanismo grazie al quale il DBMS è in grado di memorizzare per un certo intervallo di tempo i risultati restituiti dalle interrogazioni, in modo da poterli riproporre senza ripetere ad ogni richiesta tutta la procedura necessaria per rispondere alle query.

Il caching delle query permette nello stesso tempo di risparmiare risorse e di evitare sovraccarichi, in questa trattazione verranno fornite alcune indicazioni per l’ottimizzazione di tale meccanismo.

Abilitazione del query caching in MySQL

La possibilità di utilizzare una cache per la memorizzazione delle query è stata introdotta con la versione 4 di MySQL, in modo da dotare questo DBMS di una funzione che era già disponibile per altri database ; la procedura per l’abilitazione della query cache è molto semplice e prevede di apportare alcune semplici modifiche a carico del file di configurazione di MySQL, my.conf per i sistemi operativi Unix e Linux e my.ini per i sistemi Windows.

Le direttive da modificare all’interno di questo file sono due, denominate rispettivamente query_cache_type e query_cache_size; la prima direttiva accetta un parametro numerico che attiva o meno la cache, se per esempio si desidera abilitare la cache questo parametro dovrà essere uguale a 1, diversamente il valore 0 stabilirà la disabilitazione della cache, inoltre, la direttiva accetta ON in luogo di 1 e OFF in alternativa a 0; la seconda direttiva, invece, ne definisce la dimensione espressa in MB.

Se per esempio si vuole abilitare la cache attribuendole una dimensione di 64 Mb, le due direttive esposte dovranno essere modificate nel modo seguente

query_cache_type = 1
query_cache_size = 64M

Già di per sé la modifica del secondo parametro rappresenta uno strumento valido per l’ottimizzazione della cache, ad esso infatti potrà essere associato un valore differente a seconda delle diverse esigenze o applicazioni da realizzare.

Una volta salvato il file di configurazione modificato, le nuove impostazioni non avranno effetto immediato, il Database manager dovrà infatti essere riavviato e solo dopo questa procedura sarà possibile avvalersi della cache per le query.

Se vuoi aggiornamenti su Ottimizzare il caching delle query in MySQL inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Ottimizzare il caching delle query in MySQL

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy