Tempo de leitura: 3 minutos
Copiar configurações de banco da internet é receita para problema: o ajuste certo depende da RAM da sua VPS e do que o seu site realmente faz. O MySQLTuner é um script que lê o banco em funcionamento e diz, com números, o que está sobrando, o que está faltando e o que vale mudar.
Um banco bem ajustado rende ainda mais numa VPS com SSD NVMe e RAM dedicada. Se você ainda não tem onde rodar isso, a Cloud VPS Brasil já entrega o servidor pronto.
Antes de rodar: um aviso importante
O MySQLTuner usa estatísticas acumuladas desde que o banco iniciou. Se o MariaDB foi reiniciado há uma hora, os números ainda não dizem nada. Deixe o banco rodando pelo menos 24 horas (o ideal é dois ou três dias com tráfego normal) antes de tirar conclusões.
Como instalar e executar
cd /root
wget http://mysqltuner.pl/ -O mysqltuner.pl
perl mysqltuner.pl
Ele pede usuário e senha do banco. Informe o usuário administrador. Para rodar sem digitar, crie o arquivo ~/.my.cnf com permissão 600, com as credenciais de um usuário de leitura.
Como ler o resultado
O relatório tem quatro cores de mensagem: [OK] (tudo bem), [!!] (atenção), [--] (informação) e a seção final Recommendations, que traz o que vale ajustar. Os pontos mais importantes são:
- InnoDB buffer pool: é a memória que o banco usa para guardar dados e índices. Se for pequena demais, o banco lê do disco o tempo todo.
- Conexões máximas usadas: se chega perto do limite, o site pode dar erro de “too many connections”.
- Tabelas temporárias em disco: muita criação em disco indica consultas pesadas ou memória temporária pequena.
- Consultas sem índice: mostram onde o site está lendo tabelas inteiras.
Como ajustar o buffer pool
Num servidor onde o banco divide a máquina com o site, uma regra segura é usar de 25% a 40% da RAM no innodb_buffer_pool_size. Se a VPS é só do banco, pode chegar a 60% ou 70%. Edite o arquivo de configuração (o caminho varia, em geral /etc/mysql/mariadb.conf.d/50-server.cnf):
[mysqld]
innodb_buffer_pool_size = 1G
max_connections = 100
Antes de reiniciar, faça backup do banco (veja Backup e Restore do MySQL/MariaDB). Depois:
sudo systemctl restart mariadb
sudo systemctl status mariadb
Como achar as consultas lentas
Ative o log de consultas lentas na mesma seção [mysqld]:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
Depois de alguns dias, o arquivo mostra quais consultas passam de 2 segundos. Quase sempre a solução é criar um índice, e não mexer em memória.
Erros comuns
- Aumentar tudo “para garantir”: buffers grandes demais fazem o servidor usar swap e piorar. Some a RAM do banco, do PHP e do sistema antes.
- Ajustar com o banco recém-iniciado: os dados do relatório ainda são curtos.
- Mudar várias coisas de uma vez: altere um parâmetro por vez e compare.
- Ignorar o site: um plugin que faz consulta ruim não se resolve só com configuração. Combine com Redis como cache.
Banco rápido pede disco rápido
O ajuste de memória ajuda muito, e o disco NVMe cuida do resto. Na Cloud VPS Brasil você conta com Intel Xeon Gold, SSD NVMe, baixa latência, tráfego ilimitado, preço fixo em reais e suporte humano via WhatsApp e ticket. Fale com a equipe pelo WhatsApp e escolha o plano ideal para o seu projeto.