Afinar o MariaDB num VPS: as poucas definições que valem a pena, e como medir

Bases de Dados·· 15 visualizações· 3 min de leitura

A resposta curta: o MariaDB já vem com valores razoáveis. Afinar só compensa quando mediu que a base de dados é o gargalo. Aí, quase todo o ganho vem de uma definição (a memória que a base de dados usa para guardar dados), e o resto é não estragar. Mude uma coisa de cada vez e meça.

As definições que importam

Definição O que faz
innodb_buffer_pool_size A memória onde o InnoDB guarda dados e índices lidos. É a que mais pesa. Maior ajuda, mas tem de caber na RAM junto com o PHP e o servidor web, ou o servidor fica sem memória.
max_connections Quantas ligações ao mesmo tempo. Aumente só se vê «Too many connections»; cada ligação gasta memória.
slow_query_log e long_query_time Registam os pedidos lentos. Não aceleram nada; mostram onde está o problema: Pedidos lentos.
Buffers por ligação Deixe-os no valor por omissão. Valores grandes multiplicam-se por cada ligação e rebentam a memória.
A cache de pedidos (query cache) Não a ligue num site que escreve muito: costuma piorar.

Passo a passo

1 Meça primeiro: ligue o registo de pedidos lentos e veja a carga com Ver o que usa CPU, memória e disco. Um pedido mal escrito ou um índice em falta não se resolve com mais memória.
2 Faça cópia da configuração e da base de dados: Copiar com mysqldump.
3 Crie um ficheiro seu na pasta de configuração (em Ubuntu ou Debian, em /etc/mysql/mariadb.conf.d/, por exemplo 99-local.cnf) em vez de mexer no do sistema. Ponha lá só a definição que muda.
4 Escolha um valor prudente para o buffer pool, sem deixar o servidor sem memória para o resto. Em caso de dúvida, comece baixo e suba.
5 Reinicie (sudo systemctl restart mariadb) e confirme o valor com SHOW VARIABLES LIKE 'innodb_buffer_pool_size';. Meça outra vez, nas mesmas condições.
Se o MariaDB não arranca depois da mudança, quase sempre foi um valor que não cabe ou uma gralha no ficheiro. Tire o seu ficheiro, arranque, e leia o erro: Ler o systemctl status. E não mude cinco coisas de uma vez: não vai saber qual ajudou.
«MySQL server has gone away» aponta muitas vezes para outra coisa (pacote grande, tempo esgotado), não para falta de afinação: As causas, por ordem. Se o servidor fica sem memória, veja Sem memória no VPS.

Quer uma opinião sobre os números do seu servidor? Abra um pedido com o plano do VPS e o que mediu.

Abrir pedido de suporte

VEJA TAMBÉM

Consultas lentas: como as encontrar e as correcções que mais resultam

MySQL ou MariaDB: qual corre aqui, e se isso importa

«MySQL server has gone away»: as causas, por ordem de probabilidade

CPU, RAM e I/O de disco em palavras simples: o que cada um limita no seu site

Falta de memória no VPS: o que é o OOM killer e o que fazer

PRODUTO RECOMENDADO

Servidor VPS com acesso root

Recursos só seus, o sistema que escolher, reinstalação quando quiser. desde 456,30 MT/mês (plano de 3 anos, com cupão)

Ver planos
Esta resposta foi útil? A sua resposta ajuda-nos a melhorar este artigo.