Cloud MySQL/MariaDB em
alta performance
09/11/2020
Fábio de Carvalho Vieira
Powered
COMPARAÇÃO
● Downtimes/Oscilações no Deploy
● Downtimes/Oscilações ao reiniciar serviço
● Alto risco de falhas ou sobrecarga na VM
● Dificuldade para escalar
● Modular e Flexível
● Deploy e atualizações independentes
● Mais fácil para escalar e manter
DIAGRAMA
CONCEITOS
➔ Clusters são servidores que trabalham em conjunto para executar as mesmas ações, de
forma que os usuários tenham a impressão que é um sistema único (transparência)
➔ Replicação realiza a cópia de dados para um ou mais servidores
ESCOPO PROJETO - CHECKLIST
★ Qual versão utilizar ?
★ Qual topologia utilizar ?
★ Utilizar Proxy ?
★ Otimização com MysqlTuner
★ Monitoramento
FOCO NA SOLUÇÃO
1. Tuning do banco de dados
2. Otimização das consultas e monitoramento de queries lentas
3. Escalabilidade dos servidores e infra estrutura
TUNING DO BANCO
1. InnoDB x MyISAM -> Recomendado tudo Innodb
2. Consumo/uso de memória do banco
(https://dev.mysql.com/doc/refman/8.0/en/memory-use.html)
3. Utilizando o mysqltuner (wget http://mysqltuner.pl/ -O mysqltuner.pl)
4. Tratar resultados e aplicar configurações
MysqlTunner
● Data in InnoDB tables: 518.9M (Tables: 114)
● Reads / Writes: 99% / 1%
● Physical Memory : 4.0G
● [--] Max MySQL memory : 633.9G
● Slow queries: 0% (0/22M)
● Highest usage of available connections: 24% (124/500)
● Aborted connections: 0.41% (664/162513)
● Temporary tables created on disk: 27% (460K on disk / 1M total)
● InnoDB buffer pool / data size: 640.0M/518.9M
● InnoDB buffer pool instances: 1
SUGESTÕES DE VARIÁVEIS
● Max_connections
● Innodb_buffer_pool_size (70% memoria fisica),
innodb_buffer_pool_instances (paralelismo), innodb_log_file_size,
innodb_log_buffer_size
● table_open_cache/table_cache
● Wait_timeout
● Thread_cache_size, Key_buffer_size, Query_cache_size, tmp_table_size
https://stackoverflow.com/questions/9195139/mysql-performance-variabl
es-tweaking
● Ajustar key_buffer_size e variáveis não usadas do MyISAM
OTIMIZAÇÃO DAS CONSULTAS
● Monitorar consultas lentas e re-escrever ou eliminar
● Status do Mysql as SLOW QUERIES
● Indices do MYSQL otimização
(http://www.linhadecodigo.com.br/artigo/3620/indices-mysql-otimizacao-
de-consultas.aspx)
● https://www.pdbmonitor.com/
SAVEINCLOUD COM DB ESCALÁVEIS
Vantagens
● Escalabilidade Vertical e Horizontal (assinados automaticamente em
diferentes hardwares físicos)
● Instalação de ambientes complexos em alguns cliques
● Rede Privada de Alta Performance
● Discos SSD Enterprise com RAID 10
● Flexibilidade para contratar mais IOPs, os ambientes iniciam com 1000
IOPs
● Backup Full diário sem custos
AUTOMAÇÃO
➔ Opções de replicação e Galera Cluster
➔ Orquestrator e Proxy de banco de dados são recursos importantes
NA PRÁTICA - MARIA DB ESCALÁVEL
AUTOMAÇÃO
➔ Opções de replicação
➔ Orquestrator e Proxy de banco de dados são recursos importantes
NA PRÁTICA - MYSQL ESCALÁVEL
ProxySQL
➔ https://proxysql.com - High Performance
MySQL Proxy
➔ Automatic Fail Over
➔ Restart containers de DB sem downtime
➔ Roteamento inteligente de escrita e leitura
➔ Suporta MySQL e MariaDB
➔ Escalabilidade
AUTOMAÇÃO
➔ Gestão e auditoria de infra estrutura de replicação ou cluster
➔ https://github.com/openark/orchestrator
MYSQL ORQUESTRATOR
BÔNUS
E-MAIL
TOKEN
www.saveincloud.com.br
suporte@saveincloud.com
OBRIGADO!
Powered

Cloud Mysql e MariaDB em alta performance

  • 1.
    Cloud MySQL/MariaDB em altaperformance 09/11/2020 Fábio de Carvalho Vieira Powered
  • 2.
    COMPARAÇÃO ● Downtimes/Oscilações noDeploy ● Downtimes/Oscilações ao reiniciar serviço ● Alto risco de falhas ou sobrecarga na VM ● Dificuldade para escalar ● Modular e Flexível ● Deploy e atualizações independentes ● Mais fácil para escalar e manter
  • 3.
  • 4.
    CONCEITOS ➔ Clusters sãoservidores que trabalham em conjunto para executar as mesmas ações, de forma que os usuários tenham a impressão que é um sistema único (transparência) ➔ Replicação realiza a cópia de dados para um ou mais servidores
  • 5.
    ESCOPO PROJETO -CHECKLIST ★ Qual versão utilizar ? ★ Qual topologia utilizar ? ★ Utilizar Proxy ? ★ Otimização com MysqlTuner ★ Monitoramento
  • 6.
    FOCO NA SOLUÇÃO 1.Tuning do banco de dados 2. Otimização das consultas e monitoramento de queries lentas 3. Escalabilidade dos servidores e infra estrutura
  • 7.
    TUNING DO BANCO 1.InnoDB x MyISAM -> Recomendado tudo Innodb 2. Consumo/uso de memória do banco (https://dev.mysql.com/doc/refman/8.0/en/memory-use.html) 3. Utilizando o mysqltuner (wget http://mysqltuner.pl/ -O mysqltuner.pl) 4. Tratar resultados e aplicar configurações
  • 8.
    MysqlTunner ● Data inInnoDB tables: 518.9M (Tables: 114) ● Reads / Writes: 99% / 1% ● Physical Memory : 4.0G ● [--] Max MySQL memory : 633.9G ● Slow queries: 0% (0/22M) ● Highest usage of available connections: 24% (124/500) ● Aborted connections: 0.41% (664/162513) ● Temporary tables created on disk: 27% (460K on disk / 1M total) ● InnoDB buffer pool / data size: 640.0M/518.9M ● InnoDB buffer pool instances: 1
  • 9.
    SUGESTÕES DE VARIÁVEIS ●Max_connections ● Innodb_buffer_pool_size (70% memoria fisica), innodb_buffer_pool_instances (paralelismo), innodb_log_file_size, innodb_log_buffer_size ● table_open_cache/table_cache ● Wait_timeout ● Thread_cache_size, Key_buffer_size, Query_cache_size, tmp_table_size https://stackoverflow.com/questions/9195139/mysql-performance-variabl es-tweaking ● Ajustar key_buffer_size e variáveis não usadas do MyISAM
  • 10.
    OTIMIZAÇÃO DAS CONSULTAS ●Monitorar consultas lentas e re-escrever ou eliminar ● Status do Mysql as SLOW QUERIES ● Indices do MYSQL otimização (http://www.linhadecodigo.com.br/artigo/3620/indices-mysql-otimizacao- de-consultas.aspx) ● https://www.pdbmonitor.com/
  • 11.
    SAVEINCLOUD COM DBESCALÁVEIS Vantagens ● Escalabilidade Vertical e Horizontal (assinados automaticamente em diferentes hardwares físicos) ● Instalação de ambientes complexos em alguns cliques ● Rede Privada de Alta Performance ● Discos SSD Enterprise com RAID 10 ● Flexibilidade para contratar mais IOPs, os ambientes iniciam com 1000 IOPs ● Backup Full diário sem custos
  • 12.
    AUTOMAÇÃO ➔ Opções dereplicação e Galera Cluster ➔ Orquestrator e Proxy de banco de dados são recursos importantes NA PRÁTICA - MARIA DB ESCALÁVEL
  • 13.
    AUTOMAÇÃO ➔ Opções dereplicação ➔ Orquestrator e Proxy de banco de dados são recursos importantes NA PRÁTICA - MYSQL ESCALÁVEL
  • 14.
    ProxySQL ➔ https://proxysql.com -High Performance MySQL Proxy ➔ Automatic Fail Over ➔ Restart containers de DB sem downtime ➔ Roteamento inteligente de escrita e leitura ➔ Suporta MySQL e MariaDB ➔ Escalabilidade
  • 15.
    AUTOMAÇÃO ➔ Gestão eauditoria de infra estrutura de replicação ou cluster ➔ https://github.com/openark/orchestrator MYSQL ORQUESTRATOR
  • 16.
  • 17.
  • 18.
  • 19.