MySQL & tmpfs: performance

3

Eu queria saber se, e quanto, usar tmpfs poderia melhorar o desempenho do MySQL e como isso deve ser feito? Meu palpite seria fazer mount -t tmpfs -o size=256M /path/to/mysql/data/DatabaseName , e usar o banco de dados normalmente, mas talvez eu esteja errado (estou usando apenas tabelas MyISAM).

Um rsync de hora em hora entre o tmpfs /path/to/mysql/data/DatabaseName e /path/to/mysql/data/DatabaseName_backup penaliza performances? Se sim, como devo fazer o backup do banco de dados tmpfs?

Então, é uma boa maneira de fazer as coisas, há uma maneira melhor ou estou perdendo meu tempo?

    
por Serty Oan 16.06.2010 / 10:01

1 resposta

3

Respondi a uma pergunta semelhante aqui quando alguém perguntava como para carregar um banco de dados MySQL para a memória. Há um motor nativo no MySQL entre outras soluções potenciais, que são melhores para a maioria das situações.

Para tabelas MyISAM, sua solução proposta seria funcional.

O rsync não deve necessariamente penalizar o desempenho, mas poderia, se o seu sistema estivesse realmente com poucos recursos, já que a alta utilização de I / O afetaria o desempenho do sistema como um todo. Na maioria dos casos, eu diria que não, mas apenas a maneira de ter certeza é testar.

A solução ramdisk parece arriscada para mim. Em caso de perda de energia, os dados podem ser perdidos, pois o seu rsync não seria em tempo real. Você poderia replicar o banco de dados para um escravo, que poderia armazenar em um disco. A inicialização no MySQL no servidor ramdisk poderia scp daquele host no ramdisk antes de iniciar a instância.

Se a sua instância do MySQL não estivesse bem otimizada, você notaria ganhos substanciais de desempenho. Se bem otimizado, suspeitaria que os ganhos seriam menores. A única maneira de ter certeza é usar ferramentas como Super Smack , MySQL Benchmark , e sysbench para quantificar o desempenho.

Boa sorte.

    
por 16.06.2010 / 15:37