Como detectar se o InnoDB tem tamanho de pool grande o suficiente?

3

Descobri o quanto o tamanho do pool de innodb alocou memória de show innodb status , mas não consegui descobrir quanto ele realmente usa. Talvez precise de mais ou eu tire um pouco de memória disso? Como descobrir isso? Ah, e uma pergunta, como eu sou meio novo no playground de configuração innodb - ele usa duas memórias diferentes, certo? Um é o carneiro e o outro é disco, sim?

BUFFER POOL AND MEMORY
----------------------
Total memory allocated 7162316778; in additional pool allocated 1048576
Buffer pool size   393216
Free buffers       0
Database pages     380971
Modified db pages  1906
Pending reads 0
Pending writes: LRU 0, flush list 1, single page 0
Pages read 16986872, created 474559, written 9972877
0.00 reads/s, 39.33 creates/s, 353.48 writes/s
Buffer pool hit rate 1000 / 1000

Atualmente, configurei o tamanho do pool para (veja abaixo) o meu servidor de 12 GB.

innodb_buffer_pool_size = 6G
    
por Rihards 29.07.2011 / 00:24

3 respostas

1

O pool do InnoDB recomenda 2/3 da RAM que você tem.

Não, todo o pool na memória, mas ele tem um layout complexo e usa um pool de memória adicional e mais RAM para a necessidade interna.

A maior parte do pool InnoDB é apenas um cache de seus dados. Portanto, não há como determinar o quanto é "necessário". Provavelmente não desde que o pool tenha mais que o tamanho do seu banco de dados.

Em sua saída você pode ver que Freebuffers = 0. Então, toda a memória é usada, mas como eu disse antes, isso significa apenas que seu banco de dados é capaz de usar toda a RAM.

"Taxa de acesso do conjunto de buffers 1000/1000" significa que você tem uma alta taxa de acertos (todas as solicitações usam o conjunto, não o disco), portanto não é necessário se preocupar ou aumentar o buffer.

    
por 29.07.2011 / 01:15
2

Da saída que você forneceu, seus 6 gigabytes de RAM foram totalmente utilizados. Isso não significa que você não esteja usando o suficiente - significa apenas que, em algum momento, muitos dados foram lidos na unidade. O que você precisa procurar são outros detalhes sobre a utilização do seu sistema. Se você tem muita atividade na unidade, isso pode indicar que você precisa de mais memória dedicada ao InnoDB. Pode significar muitas outras coisas.

Como há muito o que aprender sobre esse nível de ajuste, sugiro que você verifique o link e faça várias horas de leitura.

    
por 29.07.2011 / 01:23
0

Normalmente, eu apenas configuro o tamanho do buffer de innodb = (tamanho cumulativo total das tabelas de innodb + 10-25%)

algumas consultas que encontrei para ajudar a encontrar o tamanho total da tabela innodb no link

    
por 01.08.2011 / 02:12

Tags