Existem algumas opções de configuração que você deve pensar antes de começar.
Contanto que você não esteja usando o myisam, você pode alocar com segurança quase todos (mantenha o suficiente para ter seu sistema operacional rodando confortavelmente, e o suficiente para sua max_connections
) sua memória para innodb_buffer_pool
. A coisa boa sobre o InnoDB é que ele manipula quase todo o material de memória sozinho, não é necessário separar coisas como caches de consulta, buffers de chaves, etc.
Eu recomendo que você ative o innodb_file_per_table
, simplesmente porque torna muito mais fácil apenas navegar pelo sistema de arquivos e ver quanto espaço as diferentes tabelas e bancos de dados precisam. Você ainda precisará de um arquivo ibdata genérico para uso interno do InnoDB, mas você pode defini-lo como 10M:autoextend
. Não há necessidade de definir muitos arquivos diferentes de dados innodb com tamanhos pré-alocados.
innodb_log_file_size
e innodb_log_buffer_size
combinados devem ser maiores que dez vezes seu maior objeto de blob se você tiver muitos grandes. Se não o fizer (e você não deve [ 1 , 2 ]), realmente não há necessidade de se preocupar muito com isso. Verifique Blog de desempenho do MySQL para um relatório detalhado sobre como calcular.
E quando você executar seu MySQL por um tempo, verifique suas configurações com MySQLTuner ou MySQL Tuning Primer .
Para um relatório mais detalhado, tente mysqlreport e, para monitoramento ao vivo, marque mytop .