Aumenta a Performance do MySQL com o cache das querys

Posted by Miguel Lopes on Fri, May 13, 2011
In Linux, Mac, Windows,

logo mysqlO MySQL é o maior sistema de base-dados open source existente. É utilizado em milhões de aplicações que utilizamos na web e não só, para uma lista de clientes podem visitar o site.

Este sistema de base-dados por muito bom que seja não vêm totalmente optimizado para cada aplicação no momento em que é instalado, isto nota-se mais em sistemas com poucos recursos. A utilização do cache das querys pode aumentar a performance significativamente.

Cache das Querys

Para pequenos sites ou aplicações web pode ser vantajoso guardar os resultados em cache, o que permitira obter os dados da base-dados mais rapidamente, e sem gastar tantos ciclos do CPU.

#my.cnf
query-cache-type = 1
query-cache-size = 20M

O primeiro parametro query-cache-type define o estado do sistema de cache de querys, ou seja activo ( 1), desactivo( 0) ou por pedido (2), este ultimo utilizara o cache apenas nas querys que o pedirem expressamente. Aqui fica um exemplo disso.

SELECT SQL_CACHE id, nome FROM pessoas WHERE grupo = 'confrades';

O segundo parametro query-cache-size limita o tamanho máximo do cache das querys para não consumir toda a ram.

Redução da Utilização de Memoria RAM

A instalação por defeito do MySQL vêm com uma serie de parâmetros que podem não estar a ser utilizados e consomem bastante memoria RAM.

Para quem não utiliza tabelas em InnoDB um metodo que pode poupar significativamente memoria RAM é com o seguinte parametro no my.cnf.

skip-innodb

Este parametro pode poupar muita memoria em certas instalações. Podem ainda ajustar estes parâmetros á memoria que têm ao vosso dispor para que nada seja desperdiçado.

key_buffer_size=131072
max_connections=60
max_allowed_packet=1M
table_cache=10000
tmp_table_size=524888

Tenham em atenção que estes parâmetros estão definidos para consumir no maximo 512MB de memoria RAM.

Os parâmetros max_connections e max_allowed_packet são os únicos que não envolvem cache. Os restantes parâmetros cobrem o cache de tabelas e chaves-primárias.



comments powered by Disqus