Estou usando apenas algumas tabelas InnoDB (por exemplo, menos de 1 MB), mas durante a inicialização do MySQL, ele disse
InnoDB: Initializing buffer pool, size = 128.0M
Isso significa que mesmo eu usando um tamanho tão pequeno, o servidor ainda usa 128M de RAM?
De acordo com a documentação do MySQL, o InnoDB Buffer Pool é definido como 128 MB por padrão no MySQL 5.5 .
Você pode mostrar quanto do InnoDB Buffer Pool está em uso e reservado da seguinte forma:
Eu o configurei para 256M no MySQL 5.5.12 para Windows. Aqui está minha saída:
Você pode definir este valor quando o MySQL inicializar. Por exemplo:
Para configurá-lo para usar 1G de RAM
Para configurá-lo para usar 256 MB de RAM
Após alterá-lo no my.cnf, você deve reiniciar o mysql para que ele tenha efeito.
O buffer pool é usado pelo MySQL para armazenar em cache os dados e índices do InnoDB na memória. Não é a memória total usada, mas seu banco de dados MySQL
Se suas tabelas InnoDB forem tão pequenas, 128 MB é mais do que suficiente e efetivamente todas as tabelas InnoDB serão tratadas como tabelas na memória. O 128Mb é um limite de quão grande o buffer pode ser e só é preenchido quando necessário.
Você pode ler sobre isso aqui
O MySQL aloca a memória para o bufferpool na inicialização, mas apenas ocupa a memória quando necessário. Isso significa que o MySQL não iniciará se não conseguir obter 128M de RAM, mas seu servidor não usará inicialmente esses 128M de memória. Até que o bufferpool seja totalmente utilizado, a RAM estará disponível para outros aplicativos.
128 M foi historicamente um grande tamanho de buffer pool. mas agora é realmente história :) Considere dar um tamanho de piscina muito maior. Muitos padrões dizem que você deve ou pode fornecer ao innodb buffer pool 70-80% da memória total do seu servidor. A otimização do buffer pool do InnoDB é uma prática comum no estágio de otimização do MySQL. Mas esteja ciente de estimar incorretamente sua RAM. você deve manter RAM suficiente para outras tarefas. Apache por exemplo. Em primeiro lugar, gere um my.cnf ideal (arquivo de configuração) para o seu servidor. Você pode fazer isso usando a ferramenta on-line Percona simples, mas excelente. será um ponto de partida muito útil para você: ferramentas on-line percona
Sim - no seu máximo! O objetivo do buffer pool - é usar cache de memória, não qualquer outro 8-)