Como turbinar o banco de dados MySQL – XAMPP
O processo de turbinar o banco de dados é de extrema importância para manter estabilidade em empresas/corporações que lidam com muitos dados, ou até mesmo sites/sistemas com grande requisição de dados.
Por vezes o investimento em hardware não resolve todos os problemas, as configurações precisam estar de acordo para alcançar o máximo do hardware.
Para turbinar seu mysql você precisa melhorar as queries no banco, fazendo as alterações corretas nas variáveis sort, join, key, innodb, pool, commit, max_connection, concurrency, entre outras variáveis disponíveis você provavelmente irá resolver seus problemas de performance.
Principalmente quando você esta lidando com o xampp que vem por padrão com configurações muito baixas.
O mysql possui variáveis de ambiente que você pode realizar consultas para verificar suas configurações, dentre elas “variables“.
Para visualizar digite:
SHOW VARIABLES;
Para ver estatísticas e indicadores de status para um servidor em execução:
SHOW STATUS;
O Mysql pode ser executado com pouquíssima memória, pois seus algoritimos são muito escaláveis. No entando para obter resultados melhores você precisa aumentar a memória utilizada.
Existem duas variáveis que são de extrema importância, são elas: “key_buffer_size” e “table_open_cache“. Essas duas variáveis são muito importantes e para alterar qualquer outra você precisa ter confiança de que realizou as configurações corretas.
Veja exemplos para diferentes configurações:
Pelo menos de 1 a 2GB de memória e variáveis tabelas pode obter o máximo de desempenho seguindo o exemplo:
shell> mysqld_safe --key_buffer_size=384M --table_open_cache=4000 --sort_buffer_size=4M --read_buffer_size=1M &
Com apenas 256MB de memória e apenas algumas mesas:
shell> mysqld_safe --key_buffer_size=64M --sort_buffer_size=1M
Se tiver muitas conexões simultâneas, pode ocorrer problemas de trocas, o mysqld tem melhor desempenho se você tem memória suficiente para todas as conexões.
Com pouca memória e muitas conexões utilize:
shell> mysqld_safe --key_buffer_size=512K --sort_buffer_size=100K --read_buffer_size=100K &
Para acelerar a leitura de registros seguintes operações de classificação com GROUP BY e ORDER BY altere a variável “read_rnd_buffer_size”
Configurando MySQL para uso do WordPress
Geralmente utilizamos para os bancos do WordPress o InnoDB e para uma configuração segura você precisa estudar o uso de ram do sistema operacional, além disso monitorar o uso da memória do próprio MySQL e para tal você pode utilizar o MySQL Enterprise Monitor.
Basicamente na instalação você precisa configurar uma variável principal sendo ela a “innodb_buffer_pool_size”
O buffer pool do InnoDB é o espaço de memória que contém muitas estruturas de dados na memória do InnoDB, buffers, caches, índices e até mesmo dados de linha.
O “innodb_buffer_pool_size” é o parâmetro de configuração do MySQL que especifica a quantidade de memória alocada para o pool de buffer InnoDB pelo MySQL. Esta é uma das configurações mais importantes na configuração de hospedagem do MySQL e deve ser configurada com base na RAM do sistema disponível.
Geralmente “a galera” configura com 70% – 80% da RAM do sistema, porém se você possue memória RAM de sobra como 256GB 80% seria apenas 204.8GB, sendo que provavelmente você poderá definir como 240GB.
Para sistemas com pouca memória RAM. Ex com <= 1GB
Deixa na configuração padrão ou com o máximo de 128MB
Para sistemas com RAM de tamanho médio 1GB – 32GB
1 – Retire o valor que o sistema operacional necessita.
2 – Retire o valor que as outras aplicações do sistema necessitam.
3 – Retire o valor que o próprio MySQL requer.
O valor que restar pode definir para o buffer do InnoDB
Ex: Sistema com 8GB de RAM:
1) 1GB
2) 600MB
3) 256MB
Sendo assim poderia definir meu InnoDB Buffer com valor de 6.1GB (Sim estou passando um exemplo completamente ridículo, é apenas para exemplificar.)