Gestion de Rendimiento Corregido

35
 CAPITULO VIII Gestión de rendimiento

description

Gestion de Redimiento

Transcript of Gestion de Rendimiento Corregido

Page 1: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 1/35

CAPITULO VIII

Gestión de rendimiento

Page 2: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 2/35

Gestión de rendimiento

Una de las tares principales del DBA es elmonitoreo de rendimiento y afinamiento de labase de datos. Sin embargo, la gestión de

rendimiento de la mayoría de lasorganizaciones es reactiva.El DBA suele estarmuy ocupado en su

rutina y por esto notiene tiempo dehacer tareaspreventivas.

Page 3: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 3/35

Definición de rendimiento

En una organización, el manejo de losproblemas de rendimiento es algo quecompete a toda la empresa.

Los problemas de rendimiento pueden sercausados por cualquier componente de lasTIC: servidores, red, SO, clientes o base de

datos.Poseer una sólida comprensión de lainfraestructura de TI permite a los DBA’s responder eficazmente cuando surgen

problemas de rendimiento.

Page 4: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 4/35

Definición de rendimiento

Rendimiento es la celeridad con la que laDBMS atiende la demanda de los usuarios.

Cinco factores que influyen en el rendimiento

de base de datos:Carga de trabajo.

Capacidad del computador

Recursos adicionales de hardware y software.

Optimización yContención.

Page 5: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 5/35

Definición de rendimiento

Carga de trabajo es una combinación detransacciones en línea, tareas en batch, consultasad hoc, tareas de análisis de datos y comandos

del sistema ejecutados en un tiempo dado. La carga de trabajo puede variar drásticamentede un día para otro, una hora a otra, e inclusominuto a minuto. A veces la carga de trabajo es

predecible y en ocasiones es muy impredecible.Ejemplo de carga de trabajo predecible: a fin demes.

Page 6: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 6/35

Definición de rendimiento 

Capacidad del computador para procesardatos está dada por la velocidad de entrada-salida, velocidad del CPU, la capacidad de

trabajo en paralelo, la eficiencia del sistemaoperativo y del DBMS.

Los recursos adicionales de hardware y

software que ayudan al rendimiento delsistema son gestor de transacciones, gestorde colas, dispositivos de caché, sistemasRAID de almacenamiento, etc.

Page 7: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 7/35

Definición de rendimiento 

Optimización es la capacidad que tienen lasbases de datos relacionales de optimizar lasconsultas internamente para hacer mas eficienteel camino de acceso a los datos. Pero hacer mas

eficientes las consultas también depende de otrosfactores como se verá mas adelante.

La contención es la condición en la que dos omas componentes de la carga de trabajo intentanutilizar un mismo recurso de una manera

conflictiva. Ejemplo, dos transacciones quierenactualizar el mismo dato al mismo tiempo.Mientras la contención aumenta, la capacidad deprocesar datos disminuye.

Page 8: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 8/35

Definición de rendimiento

El rendimiento de base de datos se puededefinir como la optimización del uso derecursos para incrementar la capacidad de

procesamiento y disminuir la contención,permitiendo que sea procesada la mayorcarga de trabajo.

Page 9: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 9/35

Hoja de Ruta para alcanzarun buen rendimiento de una

Base de Datos

Se diseña un plan de gestión de rendimiento, queincluye herramientas de monitoreo y afinamiento.

Identificar la áreas más problemáticas.

Del 75% al 80% de todos los problemas derendimiento de una base de datos son causadas por

código pobre SQL o por lógica de la aplicación.Aunque un sistema esté en un inicio muy eficiente,puede degradarse por varias razones como:crecimiento de la BD, usuarios adicionales, cambios

en el negocio, etc.

Page 10: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 10/35

o a e u a para a canzar unbuen rendimiento de una Base

de DatosUn código SQL pobremente ejecutado puedecausar los siguientes problemas que afectanal rendimiento:

Búsquedas secuenciales en las tablas. La falta de índices adecuados.

Creación de índices inapropiados.

No utilizar los índices disponibles. Estadísticas de base de datos no actualizadas.

Junturas de tablas en un orden no óptimo.

Page 11: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 11/35

o a e u a para a canzar unbuen rendimiento de una Base

de Datos Mas problemas causados por un pobre códigoSQL:

Búsquedas secuenciales en las tablas.

Junturas en las aplicaciones en vez de junturasen SQL.

Métodos de junturas no eficientes.

Código SQL eficiente dentro de código de

aplicaciones ineficiente (bucles).

Formulación de subconsultas ineficientes (exists)

Ordenamientos innecesarios (group by, union)

Page 12: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 12/35

La regla del 80/20

El 80% de los resultados provienen del 20%del esfuerzo.

Es decir, que una pequeña cantidad de

esfuerzo trae la mayoría de las recompensas.

CENTRARSE EN LAS CAUSAS MAS

Page 13: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 13/35

CENTRARSE EN LAS CAUSAS MASPROBABLES DE POBRERENDIMIENTO

Desde la perspectiva de la optimización del

rendimiento de bases de datos, el DBA seconcentrará en primer lugar en las causas más

probables de los problemas de rendimiento,como es el código SQL.

Encontrar el código que produce los problemases muy difícil ya que éste puede estar

escondido en uno de los cientos o inclusomiles de programas, en alguna aplicación o enuna consulta de AdHoc. 

Page 14: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 14/35

Herramientas de monitoreo

Para detectar en dónde están los problemas sedeben utilizar herramientas de monitoreo quevienen con las DBMS, también se pueden adquirir

herramientas de empresas independientes.

Normalmente, en estas herramientas se calificana las instrucciones SQL, en base a la cantidad de

recursos que consumen, identifican a losprogramas y usuarios que las ejecutan.

La correcta codificación y puesta a punto desentencias SQL requiere de un gran esfuerzo.

Page 15: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 15/35

Otros factores que afectan alrendimiento

Otros factores que afectan al rendimiento son: La asignación de memoria (buffer / caché para

datos, SQL, autorización).

Opciones de registro de logs (caché, el tamañodel registro, segmentos de rollback en Oracle).

Eficiencia de E/S (separación de las tablas eíndices en el disco, el tamaño de la base dedatos, archivos fragmentados y extendidos).

La carga de trabajo de la aplicación y de la basede datos en el servidor.

Definiciones de esquemas de bases de datos.

Page 16: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 16/35

Monitoreo vs. Gestión

Por desgracia, el DBA suele atacar eldesempeño de una manera reactiva.

Al reescribir el código de una aplicación es

proactivo si se lo hace antes de que estéterminada.

Algunas herramientas controladas por eventos

se pueden utilizar para hacer más fácil elajuste del rendimiento de forma automática,tomando acciones predefinidas cuando seactivan las alertas preestablecidas.

Page 17: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 17/35

Monitoreo vs. Gestión

Gestión = Monitoreo + Plan de resolución deproblemas

Plan de resolución de problemas Análisis + Optimización.

Page 18: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 18/35

Monitoreo vs. Gestión

Monitoreo es el primer componente de la gestión derendimiento. Consiste en recorrer el ambiente de BD,revisando los reportes de rendimiento con las herramientasdisponibles, y observando cómo corre el sistema. Monitoreoes el proceso de identificar problemas.

Análisis es el segundo componente de la gestión derendimiento. El monitoreo puede generar cientos o miles demensajes, pero no puede tomar decisiones en base a lainformación recolectada, esto requiere del análisis de untécnico especializado como el DBA.

Optimización es la acción correctiva, es el tercer

componente de la gestión de rendimiento. Algunasherramientas de rendimiento realizan correcciones de formaautomática, sin embargo, la optimización casi siemprerequiere de la experiencia del DBA para encontrar lasmejores soluciones.

Page 19: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 19/35

Monitoreo vs. Gestión

Una buena gestión del rendimiento sólo sepuede lograr mediante un plan proactivo en elque se identifican potenciales problemas y se

establecen sus soluciones antes de queocurran.

El DBA debe asegurar el rendimiento desde eldiseño de una aplicación.

Page 20: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 20/35

Gestión Reactiva frente aproactiva

La gestión proactiva del rendimiento combinaprevención, planificación y automatización paraminimizar el monitoreo y afinamiento reactivo.Reduce el esfuerzo, tiempo y errores humanos en

la implementación y mantenimiento de lossistemas de bases de datos.

La gestión reactiva el rendimiento, siempre seránecesario porque siempre habrán problemas queocurrirán y no fue planificada su solución. La

gestión reactiva del rendimiento no es mala deltodo, pero es manual y consume mucho tiempo.

Page 21: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 21/35

Estimación de Rendimiento en laPreproducción

Se debe pensar en el rendimiento desde lasprimeras fases de desarrollo, mientras mástemprano se identifiquen los problemas,

resulta menos costoso repararlos.

Page 22: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 22/35

Preproducción Estimación derendimiento

El costo de los problemas de rendimientodurante todo el ciclo de vida de desarrollo.

Page 23: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 23/35

Preproducción Estimación derendimiento

La estimación del rendimiento de unaaplicación no solo comprende el análisis delcódigo SQL. La aplicación debe ser revisada

totalmente y no solo una parte con el fin deaumentar el rendimiento. El análisis debemostrar el efecto global de las consultas ycomo afectan unas a otras.

Crear un método de rendimiento seguro esiterativo y se debe cooperar entre DBA, SA, ydesarrolladores.

Page 24: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 24/35

Tendencia histórica

La evolución histórica y tendencias de losrecursos permite a los administradores debases predecir la necesidad de

actualizaciones de hardware en semanas, ytal vez meses, por adelantado.

Esto proporciona una valiosa informaciónhistórica que puede ser reportada y analizada.

El mantenimiento de los indicadores clave delrendimiento histórico puede proporcionar ungran beneficio para los DBAs.

Page 25: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 25/35

Gestión de Nivel de Servicio

Gestión de nivel de servicio (SLM) es la"metodología disciplinada, dinámica yprocedimientos utilizados para garantizar que

los niveles adecuados de servicio seentreguen a todos los usuarios de TI deacuerdo con las prioridades del negocio y a uncosto aceptable".

MST asegura que los recursos se aplican a lassolicitudes en función de su importancia parala organización.

Page 26: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 26/35

Gestión de Nivel de Servicio

El SLM enfoca disponibilidad y rendimiento.

Eje: 99,95% 09 a.m.-10:00 PM (“tiempo derespuesta promedio es de dos segundos o

menos para cargas de trabajo de 500 o masusuarios.")

Por un acuerdo de nivel de servicio (SLA) para

tener éxito, todas las partes implicadas debenestar de acuerdo a los objetivos establecidospara la disponibilidad y el rendimiento.

Page 27: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 27/35

Gestión de Nivel de Servicio

En una estructura IT típica es difícil asignarresponsabilidades. El grupo desarrollador deaplicaciones trabaja independientemente del

DBA y del SA para la aplicaciónEl SLM hace predecible el rendimiento de unaaplicación.

Sin un SLA, los usuarios y el DBA tendrándiferentes expectativas, resultando ejecutivosinsatisfechos y DBAs frustrados.

Page 28: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 28/35

Gestión de Nivel de Servicio

Si los de IT en un entorno de fractura.

Con el SLM el DBA puede administrar susrecursos adecuadamente, invirtiendo deacuerdo a lo que la empresa necesita.

Page 29: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 29/35

Tipos de Optimización delRendimiento

Una aplicación de base de datos puedeafinarse en tres áreas:

Ajuste del sistema.

Ajuste de base de datos.

Ajuste de las aplicaciones.

Page 30: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 30/35

Ajuste del sistema

El sistema que comprende el DBMS a símismo y todos los componentes relacionadosen la que se basa.

El DBMS puede y debe ser ajustado paraasegurar un rendimiento óptimo.

El software de otros sistemas con los que

interactúa el DBMS incluye: el sistemaoperativo, software de red, sistemas de colasde mensajes, middleware y procesadores detransacciones.

Page 31: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 31/35

Ajuste de la base de datos

El rendimiento puede verse afectado por el diseñofísico de la base de datos, incluyendo lanormalización, almacenamiento en disco, el

número de tablas, diseño de índices, y el uso deDDL y sus parámetros asociados.

La ubicación física de los archivos de base dedatos en sistemas de disco afecta al rendimiento

de las aplicaciones de acceso a los datos.

Los archivos de datos crecen y degradan elrendimiento.

Page 32: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 32/35

Ajuste de la base de datos

LA revisión de los índices es necesario paraevitar impactos negativos en la modificaciónde datos.

Page 33: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 33/35

Ajuste de Aplicación

El 75% de los problemas de rendimiento soncausados por códigos de aplicaciones noapropiados tanto en SQL como en lenguajes

de aplicación como: Java, COBOL, C + +, ocódigo de Visual Basic.

Aj d l h i d

Page 34: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 34/35

Ajuste de las herramientas derendimiento

Muchas herramientas de terceras partes puedegestionar con eficacia el rendimiento de lasaplicaciones de base de datos de misión crítica:

Monitores de rendimiento.

Herramientas de estimación de rendimiento. Herramientas de planificación de la capacidad.

Análisis de SQL y herramientas de ajuste.

Herramientas de análisis de Asesoramiento.

Herramientas de análisis. Herramientas de Reorganización.

Herramientas de selección.

Aj t d l h i t d

Page 35: Gestion de Rendimiento Corregido

5/10/2018 Gestion de Rendimiento Corregido - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-rendimiento-corregido 35/35

Ajuste de las herramientas derendimiento

El DBA a menudo tendrá que utilizar estasherramientas en conjunto con otros integradosy accesibles desde una consola de

administración central.Las herramientas de terceros puedengestionar el rendimiento en ambientesheterogéneos.