Tuning do MariaDB 11.x: Como otimizar o my.cnf para servidores com pouca RAM

Tuning do MariaDB

O MariaDB 11.x traz melhorias importantes de performance, mas continua exigindo tuning manual em VPS pequenos. Uma configuração padrão pode consumir memória excessiva e causar lentidão, swap e erros 500.

Este guia mostra como configurar corretamente o MariaDB 11.x em servidores com pouca RAM, com foco em estabilidade, WordPress e produção real.


O que muda no MariaDB 11.x em relação a versões antigas?

O MariaDB 11.x:

  • Usa InnoDB (XtraDB removido)
  • Possui melhorias no otimizador
  • Gerencia melhor threads
  • Ainda não é otimizado automaticamente para low memory

👉 Ou seja: o my.cnf continua sendo essencial.


Quanto de RAM o MariaDB 11.x deve usar?

RAM totalUso recomendado do MariaDB
1 GB256 MB
2 GB512 MB
4 GB1 GB a 1.5 GB

O restante da memória deve ficar livre para PHP-FPM, cache e sistema.


Configuração base recomendada (MariaDB 11.x)

[mysqld]
user = mysql
bind-address = 127.0.0.1
skip-name-resolve

max_connections = 50
max_user_connections = 30

wait_timeout = 60
interactive_timeout = 60

table_open_cache = 256
table_definition_cache = 256

thread_cache_size = 32

Essa base reduz overhead e evita consumo excessivo por conexões ociosas.


InnoDB no MariaDB 11.x (configuração crítica)

innodb_buffer_pool_size (principal uso de RAM)

RAMValor recomendado
1 GB128M
2 GB256M
4 GB512M – 1G
innodb_buffer_pool_size = 256M
innodb_buffer_pool_instances = 1

innodb_log_file_size = 64M
innodb_log_buffer_size = 16M

innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT

📌 O MariaDB 11.x lida melhor com I/O, mas ainda precisa de limites bem definidos.


Buffers por conexão (low memory safe)

No MariaDB 11.x, buffers continuam sendo alocados por conexão.

sort_buffer_size = 1M
join_buffer_size = 1M
read_buffer_size = 512K
read_rnd_buffer_size = 512K

tmp_table_size = 32M
max_heap_table_size = 32M

Esses valores evitam picos de memória com múltiplos acessos simultâneos.


Query Cache no MariaDB 11.x

⚠️ Não use Query Cache.

Mesmo estando disponível no MariaDB, ele:

  • Não escala bem
  • Prejudica sites dinâmicos
  • Pode causar locks
query_cache_type = 0
query_cache_size = 0

Logs e monitoramento

slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2

log_error = /var/log/mysql/error.log

O slow log é essencial para otimização sem aumentar uso de RAM.


Configuração completa do my.cnf (MariaDB 11.x – VPS 2 GB)

[mysqld]
user = mysql
bind-address = 127.0.0.1
skip-name-resolve

max_connections = 50
max_user_connections = 30

wait_timeout = 60
interactive_timeout = 60

table_open_cache = 256
table_definition_cache = 256
thread_cache_size = 32

sort_buffer_size = 1M
join_buffer_size = 1M
read_buffer_size = 512K
read_rnd_buffer_size = 512K
tmp_table_size = 32M
max_heap_table_size = 32M

innodb_buffer_pool_size = 256M
innodb_buffer_pool_instances = 1
innodb_log_file_size = 64M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT

query_cache_type = 0
query_cache_size = 0

slow_query_log = 1
long_query_time = 2

Comandos para validar o MariaDB 11.x

mysqladmin status
mysql -e "SHOW GLOBAL STATUS LIKE 'Threads_connected';"
mysql -e "SHOW ENGINE INNODB STATUS\G"

Esses comandos ajudam a detectar excesso de conexões, locks e gargalos.


Erros comuns no MariaDB 11.x em VPS pequenos

max_connections exagerado
❌ InnoDB usando mais de 50% da RAM
❌ Buffers altos por conexão
❌ WordPress sem cache de página


MariaDB 11.x + WordPress: melhor prática

O MariaDB não deve ser o único cache. Combine com:

  • FastCGI Cache (Nginx)
  • LiteSpeed Cache
  • WP Rocket / WP Fastest Cache

Isso reduz drasticamente queries e uso de memória.


Conclusão

O MariaDB 11.x é rápido e estável, mas apenas quando corretamente configurado.
Em servidores com pouca RAM, limites bem definidos no my.cnf fazem toda a diferença.

Com essa configuração você garante:

  • Menos swap
  • Menor consumo de memória
  • Mais estabilidade
  • Melhor performance no WordPress

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *