Como posso diminuir as leituras de uma única página do MySQL?

1

Meu tamanho de buffer pool innodb é de 8 GB e meu banco de dados tem 6 GB, mas vejo isso:

Innodb_buffer_pool_reads 263.5k - O número de leituras lógicas que o InnoDB não pôde satisfazer a partir do buffer pool e precisou fazer uma leitura de uma única página.

Com o hardware (i7, 24GB de RAM, SSD) e essa quantidade de RAM disponível, por que as consultas estão fazendo "leituras de página única?

Como posso reduzir esse número de leituras de página única?

    
por Asaz 01.09.2012 / 04:26

2 respostas

1

why are the queries doing "single page reads at all?

Porque as páginas precisam ser lidas no buffer pool pelo menos uma vez antes de serem disponibilizadas para o mecanismo. Olhando para os seus números, as 263.500 leituras seriam responsáveis por

263,500 pages x 16 KB/page = 4,216,000 KB read

que não é igual ao tamanho do seu banco de dados. Além disso, em comparação com seus 3.500.000.000 innodb_buffer_pool_read_requests , esse é um pequeno número - no seu caso, praticamente tudo é servido no buffer pool sem E / S de disco.

    
por 28.08.2014 / 22:00
0

Portanto, esses números não estão em bytes ... mas em # consultas. Da matemática parece que você está muito baixo, o que é uma coisa boa. A matemática é

(Innodb_buffer_pool_read_requests / Innodb_buffer_pool_reads) * 100

Se esse número for menor que 1, você está em boa forma. Outra boa maneira de saber se você precisa de mais memória para o pool é

SHOW ENGINE INNODB STATUS;

Em direção ao topo, você verá isso

Buffer pool hit rate 1000 / 1000, young-making rate 1 / 1000 not 0 / 1000

Se você está perto de 1000/1000 isso é bom. Qualquer coisa abaixo de 900/1000 eu começaria a adicionar mais memória.

    
por 01.09.2012 / 04:57