mysql 5.1 - innodb - query_cache_size - 9.418.108 consultas foram removidas do cache de consulta devido à falta de memória

3

Atualmente em execução em um sistema de 16 GB - Ubuntu 64 bits. O conjunto de buffers INnodb está definido para 10 GB.

tuning-primer mostra o seguinte:

QUERY CACHE
Query cache is enabled
Current query_cache_size = 512 M
Current query_cache_used = 501 M
Current query_cache_limit = 4 M
Current Query cache Memory fill ratio = 97.87 %
Current query_cache_min_res_unit = 4 K
However, 9418108 queries have been removed from the query cache due to lack of memory
Perhaps you should raise query_cache_size

São mais de 9 milhões de consultas removidas. O tempo de atividade do sistema é de 8 dias. Devo remover o Cache de Consulta completamente? Nosso db está sempre sob E / S pesada.

tia

    
por Tom C 29.08.2012 / 17:32

1 resposta

1

Ah, sim, por favor, desative o cache de consultas (set query_cache_size = 0). Por que ???

O Cache de Consulta sempre bate de frente com o InnoDB. Seria bom se o MVCC do InnoDB permitisse que as consultas fossem atendidas a partir do cache de consultas, caso as modificações não afetassem as leituras repetitivas de outras transações. Infelizmente, isso não acontece.

Aparentemente, você tem muitas consultas que são invalidadas rapidamente e não são reutilizadas.

Para o InnoDB no MySQL 4.0, o cache de consulta foi desabilitado para transações. Para o MySQL 4.1+, o InnoDB desempenha o controle de tráfego ao permitir o acesso ao cache de consulta por tabela.

Para obter mais informações sobre como isso é realmente feito, leia as páginas 213-215 do livro "Alto desempenho MySQL (Segunda Edição) " .

    
por 29.08.2012 / 20:03