Como o MySQL 5.5 e o InnoDB no Linux usam RAM?

1

O MySQL 5.5 InnoDB mantém índices na memória e tabelas no disco? Será que ele já faz o seu próprio cache na memória de tabelas de partes ou inteiras? Ou ele depende completamente do cache da página do sistema operacional (eu acho que isso acontece desde que o cache SSD do Facebook que foi construído para o MySQL foi feito no nível do sistema operacional: link )? Por padrão, o Linux usa toda a RAM disponível para o cache de páginas? Então, se o tamanho da RAM exceder o tamanho da tabela + memória usada pelos processos, então quando o servidor MySQL iniciar e ler toda a tabela pela primeira vez, ela será do disco e, a partir desse ponto, toda a tabela estará na RAM? Então, usando o Alchemy Database (SQL no topo do Redis, tudo sempre na RAM: link ) não deve ser muito mais rápido do que MySQL, dado o mesmo tamanho de RAM e banco de dados?

    
por Loren 31.05.2012 / 17:52

1 resposta

1

Leia sobre innodb_buffer_pool_size.

É assim que você diz ao innodb a quantidade de memória RAM a ser armazenada no cache. (não usando cache de página do sistema operacional)

Documentos do MySQL 5.5 - link

Um bom blog para seguir - link

Pense no Flashcache como um cache L1 SSD na frente do seu HDD.

Eu não posso falar sobre o desempenho do Redis x MySQL, mas o MySQL tem outra sobrecarga de desempenho no processamento de declarações, conformidade com o ACID, coisas assim ...

Se você está na RAM, o desempenho será "BOM" em qualquer sistema.

    
por 31.05.2012 / 18:21