Este documento resume uma análise de performance do MySQL e MariaDB, discutindo aspectos como: hardware, configurações do banco de dados, uso de memória, tabelas temporárias e logs. Também fornece detalhes sobre como o planejamento e conhecimento do desenvolvedor afetam o desempenho.
2. Diego Hellas
➔ TI desde 2002
➔ DB desde 2006
➔ DBA esde 2008
➔ Instrutor desde 2008
➔ PerformanceDB desde 2015
➔ PDB Monitor desde 2018
diegohellas@performancedb.com.br
@diegohellas
@mysqlbr
3. Cuide bem do seu banco de dados, invista em
planejamento, testes, redundância, alta disponibilidade,
monitoramento e manutenção constante.
Se você não fizer todas as etapas acima, mais cedo ou mais
tarde seu banco de dados vai parar de funcionar, ou ficar lento,
ou você vai perder dados, e tudo isso leva a perder clientes.
Análise de Performance
4. Análise de Performance
● Hardware e sistema operacional
● Configurações do MySQL/MariaDB
● Usuário
5. ● Físico ou virtual
● Versão do Sistema Operacional
● Memória e SWAP
● Limites e tuning de kernel
● IOPS
Análise de Performance
Hardware e sistema operacional
6. Análise de Performance
Configurações do MySQL/MariaDB
● Versão(atualize sem medo!)
● Engine
● InnoDB Buffer Pool
● Redo Log e seu buffer
● Uso de memória
● Tabelas temporárias
● Logs do DB
● Table Open Cache e Table Open
Definition Cache
● Conexões, Proxy e Cache
9. Análise de Performance
Configurações do MySQL/MariaDB
● Innodb_log_file_size e innodb_files_in_group
● innodb_log_buffer_size
Redo Log e seu buffer
10. Análise de Performance
Configurações do MySQL/MariaDB
● (key_buffer_size + innodb_buffer_pool_size + innodb_log_buffer_size +
innodb_additional_mem_pool_size + net_buffer_length) +
((sort_buffer_size + myisam_sort_buffer_size + read_buffer_size +
join_buffer_size + read_rnd_buffer_size + tmp_table_size) *
max_connections))
Uso de memória
11. Análise de Performance
Configurações do MySQL/MariaDB
● Geradas automaticamente pelo MySQL
● @@Tmp_table_size
● @@max_heap_table_size
● Status Created_tmp_tables
● Status Created_tmp_disk_tables
Tabelas temporárias
12. Análise de Performance
Configurações do MySQL/MariaDB
● Escrever log usa recursos de disco
● Não ter logs configurados não vão te indicar possíveis problemas
● General Log
● Slow Log
● Binary Log
● Error Log
Logs do DB
13. Análise de Performance
Configurações do MySQL/MariaDB
● @@table_definition_cache
● @@table_open_cache
● Status Opened_table_definitions
● Status Opened_tables
Table Open Cache e Table Open Definition Cache
15. Análise de Performance
Usuário
● O usuário do banco de dados é o desenvolvedor
● Invista em conhecimento
● Invista em planejamento
● Invista em modelagem de dados
● Invista em um processo que blinde o DB
● Planeje os deploys
16. BANCO DE DADOS NA SAVEINCLOUD
Vantagens
● Escalabilidade Vertical e Horizontal (assinados
automaticamente em diferentes hardwares físicos)
● 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