Top Banner
1 Sesión 3: Conoce los problemas más comunes que afectan el desempeño de RDBMS y como MySQL los resuelve Manuel Contreras [email protected] [email protected] Blog: mysql-espanol.org Twitter: mysql_espanol
22

Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

Oct 01, 2018

Download

Documents

lynhu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

1

Sesión 3:

Conoce los problemas más comunes que afectan el desempeño de RDBMS y como MySQL los resuelve

Manuel Contreras

[email protected]@oracle.com

Blog: mysql-espanol.orgTwitter: mysql_espanol

Page 2: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

2

Resumen

• Sesiones Anteriores en:http://mysql-espanol.org/2010/11/25/sesiones-sgcampus-mysql/

• Sesión 1: – Estrategias para separar carga en múltiples instancias

MySQL ( separación de lecturas y escrituras )– Practicas recomendadas para abilitar High Availability

MySQL

• Sesión 2:– Benchmark: mysql-sqlbench, sysbench– Categorías de problemas típicos en bases de datos

relacionales– Simulación de carga, para hacer pruebas de stress en

servidores MySQL

Page 3: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

3

Sesión 3) Agenda

• Introducción a variables MySQL Server– my.cnf

• Monitor MySQL Server– Performance Advisors

• Conceptos básicos de Índices– Optimización de queries– Exaplain Query

Page 4: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

4

MySQL Server: Configuración • basedir: directorio home de binarios MySQL

/usr/local/mysql

• datadir: directorio home de datos, índices, tablas, schemas, etc.../data/mysql

• my.cnf File ( archivo de Configuración )/etc/my.cnfBASEDIR/support-files ( plantillas )

• Logs

• Configuración de rutas de archivos my.cnf

• Storage Engines

• Algoritmos para procesamiento de datos

• MyISAM, InnoDB, Memory, NDB Cluster, Archive, etc...

Page 5: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

5

MySQL – Storage Engines

Page 6: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

6

MySQL - Bitácoras• Log (bitácoras) MySQL

• General log (log=file)• Todos los queries sin importar el resultado

• Error Log (log-error=file)• Errores del sistema

• Slow queries Log (log_slow_queries=file)• Queries que demoran más de un tiempo específico

• long_query_time=N

• Binary Log (log-bin=file)• Update, Inserts

• NO Selects

• mysqlbinlog utility

• Variables, se configuran en archivo: • my.cnf (Unix)

• my.ini (MS Windows)

Page 7: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

7

MySQL – Configuration File

• Rutas en orden donde se busca my.cnf– /etc/my.cnf– /etc/mysql/my.cnf– $SYSCONFDIR/my.cnf

• (--sysconfdir option en compilación)

– $MYSQL_HOME/my.cnf– --defaults-extra-file=PATH– ~/.my.cnf

Page 8: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

8

MySQL – Configuration File (2)

• Recomendación:– Solo usar /etc/my.cnf or /etc/mysql/my.cnf

y opcionalmente...~/.my.cnf para almacenar passwords y protegerlo vía OS

• Asociar archivo my.cnf, con una instancia mysqld:

– $MySQL_HOME/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --defaults-file=/etc/my.cnf

Page 9: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

9

• MySQL Server Variables

• join_buffer_size (sesión).- memoria para ejecución de queries con JOINs

• key_buffer_size (global).- memoria para indices MyISAM

• innodb_buffer_pool_size (global).- memoria para InnoDB Data / índices

• query_cache_size (global)

• read_buffer_size (global).- memoria para table scan

• sort_buffer_size (global).- memory para ordenar datos

• thread_stack (global).- memoria asignada a cada thread

• tmp_table_size (global) .- memoria para tablas temporales

• Plantillas: $BASE_DIR/support-files

Optimización – MySQL Server

http://forums.mysql.com/read.php?24,92131,92131

Page 10: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

10

• Obteniendo información

• Show variables \G ( valores de variables establecidos )

• Show status \G ( valores de consumo real )

• Show engine InnoDB status \G ( consumo de recursos InnoDB )

• Show processlist \G ( lista de procesos running )

• MySQL Enterprise Monitor

• Alertas

• Advisors

• Query Analyzer

Optimización – MySQL Server (2)

Page 11: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

11

MySQL Enterprise Monitor

Page 12: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

12

Page 13: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

13

Page 14: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

14

Page 15: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

15

Optimización MySQL• Servicios Profesionales - MySQL

• Soporte técnico MySQL• Soporte a través de sistema web (service tickets)

• Telefónico 24x7

• Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL

• Servicios pro-activos de consultoría

• Soporte a través de sistema web (service tickets ), Telefónico

• Performance tuning

• Objetivo: encontrar la configuración óptima del ambiente, afinación de variables my.cnf, la cual explote la arquitectura en HW, recursos, OS, y tipo de queries, datos

• Cursos para DBAs: (5 días) en sitio o eLearning, para optmizar servidores MySQL Community

Page 16: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

16

Optimización de Queries• Índices

– Estructura de datos que mejora la velocidad en operaciones de lectura en registros de Bds

• Índices en MySQL:– Primary Key (No NULL)

– Unique Key ( NULL ), sobre valores no repetidos

– Non-Unique, cualquier valor y acepta repetidos

– Fulltext: indice para tipo texto en tablas MyISAM

• Distintos algoritmos– Hashing

– Btree

– Rtree ( Spatial )

Page 17: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

17

Explain Query (1)

Page 18: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

18

Explain Query (2)1)

2)

Page 19: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

19

Explain Query (3) – No index

Page 20: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

20

Optimizando Query - Agregando índices

• Índices

Page 21: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

21

Explain Query - con Índices

Page 22: Sesión 3: Conoce los problemas más comunes que … · • Objetivo: resolver cualquier posible problema en la configuración del motor de base de datos MySQL ... • Performance

22

Sesión 3:

Conoce los problemas más comunes que afectan el desempeño de RDBMS y como MySQL los resuelve

Manuel Contreras

[email protected]@oracle.com

Blog: mysql-espanol.orgTwitter: mysql_espanol