Como ajustar as configurações do MySQL de acordo com a memória disponível no servidor?

De Wiki
Revisão de 09h30min de 8 de julho de 2016 por Carla (discussão | contribs) (Criou página com 'Category:Cloud ServersCategory:CloudFlex <font face="Arial,Helvetica" color="black" size = "2.5"> Ao instalar ou reinstalar o template CentOs 6.8, o arquivo de configu...')

(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Ao instalar ou reinstalar o template CentOs 6.8, o arquivo de configuração my.cnf do MySQL, é disponibilizado no diretório /etc/my.cnf.d do servidor. A CentralServer disponibiliza o arquivo compatível com a quantidade de memória contratada no CloudFlex, seguindo a seguinte lógica:

  • my-1G.cnf: para servidores de 1GB de memória
  • my-2G.cnf: para servidores de 2 a 3 GB de memória
  • my-4G.cnf: para servidores de 4 a 7 GB de memória
  • my-8G.cnf: para servidores de 8 a 15 GB de memória
  • my-16G.cnf: para servidores de 16 a 31 GB de memória
  • my-32G.cnf: para servidores de 32 a 40 GB de memória

Nota: O arquivo pode ser chamado através de um link simbólico montado em /etc/my.cnf, através do comando:

ln -s /etc/my.cnf.d/my-1G.cnf /etc/my.cnf


Abaixo um exemplo de um arquivo my.cnf, utilizado em um CloudFlex com 2vCPU e 1GB de memória. Neste caso o arquivo será my-1G.cnf.

#::::::::::::::
#Cloud (2 vCPU, 1 GB RAM)
#:::::::::::::
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
slow_query_log=1
slow-query-log-file=/var/log/mysqld_slow_queries.log
innodb_file_per_table
skip-name-resolve
key_buffer_size=4000M
wait_timeout=300
interactive_timeout=300
open_files_limit=10000
max_allowed_packet=100M
#:::::::::::::::::
# Parâmetros substituição por configuração de Cloud
max_connections=200
thread_cache_size=4
max_user_connections=100
query_cache_size=8M
innodb_buffer_pool_size=16M
#::::::::::::::::::
query_cache_type=1
secure_auth=0
query_cache_limit=2M
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Os padrões que serão alterados nos arquivos, conforme a configuração do servidor, são:

# Parâmetros substituição por configuração de Cloud
max_connections=200
thread_cache_size=4
max_user_connections=100
query_cache_size=8M
innodb_buffer_pool_size=16M
#::::::::::::::::::

Especificações técnicas dos parâmetros:

max_connections

Número máximo permitido de conexões simultâneas.


thread_cache_size

Parâmetro ajustado conforme vCPU do Cloud, sempre o dobro de vCPUs. Ex.: 2 vCPUs, o thread_cache_size = 4.


max_user_connections

Número máximo de conexões por usuário.


query_cache_size

Parâmetro para configurar o cache de memória que armazena os conjuntos de resultados executados frequentemente no banco, como por exemplo, SELECT. Ou seja, ao invés de emitir novamente a consulta para o motor do banco de dados, o MySQL recupera o conjunto de resultados a partir do cache e retorna esse para o cliente.


innodb_buffer_pool_size

Parâmetro para configurar o tamanho do armazenamento do innodb buffer.


Nota: Após realizar upgrade de memória, recomenda-se alterar os parâmetros para obter maior desempenho do recurso.