É seguro usar toda a memória no servidor linux, não deixando nada para o cache?

1

Eu tenho um servidor CentOS totalmente dedicado ao MySQL 5.5 (principalmente com tabelas innodb). O servidor tem 32 GB de RAM, discos SSD e uso médio de memória, assim:

Portanto, cerca de 25 GB estão em uso e cerca de 6,5 GB são armazenados em cache. Estou com problemas de desempenho com as consultas WRITE, então eu estava pensando: esse é o tamanho ideal do cache? Eu poderia aumentar o tamanho do buffer innodb, para que o cache linux se tornasse menor ou diminuísse, então seria maior.

Qual é o equilíbrio ideal de memória usada / armazenada em cache para o servidor MySQL ocupado no linux?

    
por Temnovit 16.09.2012 / 13:13

3 respostas

3

A memória cache existe para fazer uso da memória não utilizada para acelerar as solicitações. Portanto, se você der toda a sua memória a um aplicativo que possa utilizá-la, verá um aumento de desempenho. Então, para responder à sua pergunta, não existe equilíbrio ideal.

    
por 16.09.2012 / 13:53
2

Em geral, eu alocaria o máximo possível de cache para o MySQL se você estiver preocupado com o desempenho do MySQL. Ele sabe o que armazenar em cache, enquanto o cache do sistema operacional não - ele apenas armazena em cache os arquivos acessados com freqüência.

Em relação aos seus problemas de desempenho, você pode tentar executar o banco de dados a partir de um disco RAM, se possível. Caso contrário, use um sistema de arquivos que possa fazer uso de dispositivos de cache.

    
por 16.09.2012 / 13:55
0

Para responder diretamente ao título da sua pergunta: Não, isso seria uma péssima ideia.

Se você atribuir toda a memória livre, +/- alguns MB, a um programa exclusivamente, qualquer outro programa que usará parte da memória do seu sistema (por exemplo, se você usar encontrar de vez em quando ou cronjobs rodando diariamente, semanalmente e assim por diante) terá que trocar.

Se o seu sistema vai trocar, você notará uma enorme queda no desempenho geral.

    
por 16.09.2012 / 14:40