cómo controlar el rendimiento de mi sql server 2008

22
Copyright © 2008, Solid Quality Mentors. All rights reserved. Cómo controlar el rendimiento de mi SQL Server 2008 Enrique Catala Bañuls Data Platform Architect Solid Quality Mentors [email protected]

Upload: waseem

Post on 25-Jan-2016

34 views

Category:

Documents


1 download

DESCRIPTION

Cómo controlar el rendimiento de mi SQL Server 2008. Enrique Catala Bañuls Data Platform Architect Solid Quality Mentors [email protected]. Solid Quality Mentors. SQLU Summit 2008 (23-27 Junio – Madrid) tres tracks simultáneos : SQL Server, Business Intelligence y Desarrollo - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

Cómo controlar el rendimiento de mi SQL Server 2008

Enrique Catala BañulsData Platform Architect

Solid Quality [email protected]

Page 2: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

Solid Quality Mentors•SQLU Summit 2008 (23-27 Junio – Madrid)

• tres tracks simultáneos: SQL Server, Business Intelligence y Desarrollo

•Mentores• Fernando G. Guerrero, Miguel Egea, Alejandro Leguízamo, Jesús

López, Jordi Rambla, Eladio Rincón, Daniel Seara, Guillermo Som, Antonio Soto, Adolfo Wiernik, …

•+80 mentores en todo el mundo, 45 MVPs, 5 RDs.•Ayudando a obtener lo mejor de SQLServer y .NET con

• Formación• Consultoría • Mentoring • http://blogs.solidq.com/ES/ElRinconDelDBA

Page 3: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

Información sobre versión Beta

• Toda la información y ejemplos son relativos a la beta CTP6 pública de SQL Server 2008

• Comandos y funcionalidades pueden diferir de la versión RTM final

Page 4: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

AgendaCómo controlar el rendimiento de SQL Server 2008

• Resource Governor• Rendimiento predecible

• Performance Studio• Análisis del rendimiento

• Bloqueos de planes de ejecución• Control de querys

Page 5: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

•¿Tiene tu SQL Server comportamiento predecible?• Consultas fuera de control

• Consultas/jobs importantes que no poseen suficientes recursos

• Consultas poco importantes que usan demasiados recursos en momentos críticos

Resource Governor (RG)Introducción

Page 6: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

Resource Governor (RG)Soluciónes

• RG nos permite solucionar los problemas mediante:• Clasificación de conexiones entrantes y enrutado de sus

cargas de trabajo a un grupo concreto

• Supervisión del uso de los recursos para cada carga de trabajo en un grupo

• Agrupación de cargas de trabajo y limitación sobre el uso de CPU y memoria.• Se evitan las consultas fuera de control

• Asociación de cargas de trabajo agrupadas a un grupo de recursos

• Identificación y establecimiento de prioridades para cargas de trabajo

Page 7: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

•Grupos de recursos• Habilita la clasificación

de cargas de trabajo

• Limitación específica de grupos de recursos

•Pools de recursos• “maquinas virtuales” con

limites de CPU y memoria

•Resource Management• Mapeo de grupos a pools

Resource Governor (RG)Vistazo

Page 8: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

Resource Governor (RG)Vistazo (continuación)

• Existe una conexión entrante para una sesión (sesión 1 de n)

• La sesión está clasificada (Clasificación).

• La carga de trabajo de la sesión se enruta a un grupo de carga de trabajo, por ejemplo, al Grupo 4

• La carga de trabajo utiliza el fondo de recursos al que está asociado, por ejemplo, el Fondo 2

• El fondo de recursos proporciona y limita los recursos requeridos por la aplicación, por ejemplo, la Aplicación 3

Page 9: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

Resource Governor (RG)Características generales

• No entra en juego si no se compite por recursos

• Comportamiento distinto según la arquitectura de la capa de acceso a datos• Depende de la función de clasificación

• Arquitectura conectada vs arquitectura desconectada

• Por defecto Workload Group “default” e “internal”

• Peticiones del propio SQL Server entran en Workload Group “internal”

Page 10: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

Resource Governor (RG)Resource pools

• Los recursos limitables son CPU y RAM

• Un recurso posee dos partes• MIN

• Aislada del resto de fondos • Permite reserva mínima de recursos• La suma de estas no puede superar 100

• MAX• Compartida con el resto de fondos • Permite especificar reserva máxima de recursos• Su valor puede estar entre MIN y 100 inclusive

Page 11: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

Resource Governor (RG)Resource pools (continuación)

Page 12: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

Resource Governor (RG)Workload Group

• Son contenedores de solicitudes de sesión que entran basándose en la función de clasificación activa.

• Permiten la supervisión agregada del consumo de recursos

• Permiten la aplicación de consumo de recursos uniforme a las solicitudes del grupo

Page 13: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

Resource Governor (RG)Función de clasificación

• Por defecto, si no existe se clasifica todo al Workload Group “default”

• Se evalua para cada nueva conexión

• Si devuelve NULL, no existe el grupo de trabajo u ocurre cualquier error, entrará en Workload Group “default”

• Se debe definir en master (ámbito de servidor)

• Solo una función activa, pero n definidas

• Cuidado: No deben tener tiempo de ejecución elevado (conexiones huerfanas)

Page 14: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

RESOURCE GOVERNOR

DEMO 1

Page 15: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

Resource Governor (RG)Restricciones

• En CTP6, Resource Governor tiene las siguientes restricciones:• RG solo funciona para el motor de base de datos SQL

Server. No sirve para Analysis services, Integration Services ni Reporting Services

• Solo permite gestionar CPU y MEMORIA

• Consultas muy cortas de duración no siempre ocupan la CPU el tiempo suficiente para aplicar control de su ancho de banda• Puede que las estadísticas no sean las esperadas en estos

casos

Page 16: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

•Es el framework que enlaza capturas, análisis, solución de problemas y persistencia de los informes de diagnóstico de SQL Server

•Consiste en una suite de herramientas para• Captura de datos con poca sobrecarga

• Monitor de rendimiento, solucionador de problemas y optimización

• Persistencia de datos de diagnósticos

• Reporting

Performance StudioIntroducción

Page 17: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

• Proveedor de datos

– Fuentes de información– Ej. SQL Trace, Perform counters, DMVs, consultas T-SQL, logs

• Tipo colector

– Conoce como leer y exponer datos de un proveedor de datos específico

• Elemento colección

– Instancia de un tipo colector

– Determina las entradas de datos y su frecuenciaEj. Solo recoge wait_time_ms y max_wait_time_ms desde sys.dm_os_wait_stats

DMV cada 5 segundos).

Performance StudioConceptos del colector de datos

Page 18: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

• Conjunto colección

– Items de grupo de colección

– Colección de datos lógicos de una unidad de datos

– Definido mediante TSQL o APIs .Net

• Administración de almacenes de datos (DW)• Repositorio para datos que se captura

– Histórico y definición de baselines

Performance StudioConceptos del colector de datos (continuación)

Page 19: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

DEMO 2

PERFORMANCE

STUDIO

Page 20: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

•“Congelamiento” de planes• Nueva posibilidad de bloquear un plan de ejecución

en memoria no volátil

• Permite “sobrevivir” a una actualización o reinicio de servicio

• Diseñado para controlar rendimiento y escalabilidado Actualizaciones suaveso Fijamiento de planes para aplicaciones ISVo Estabilidad entre sistemas de producción y de test

BLOQUEO DE PLAN DE CONSULTAS

Page 21: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

•Varias mejoras• sp_create_plan_guide

o Puede usar la salida de XML SHOWPLAN o Puede crear múltiples guías de planificación (solo una disponible)

• sp_create_plan_guide_from_cacheo Crea guías de planeamiento desde cache

• sys.fn_validate_plan_guideo Validación de guías de planes

• Nuevas clases de eventoso Guia de plan satisfactoria o insatisfactoria

• Nuevos contadores de rendimientoo Guided Plan Executions/sec, Misguided Plan Executions/sec

BLOQUEO DE PLAN DE CONSULTAS

Page 22: Cómo  controlar el rendimiento de mi SQL Server 2008

Copyright © 2008, Solid Quality Mentors. All rights reserved.

http://blogs.solidq.com/ES/ElRinconDelDBA/default.aspx

¿ PREGUNTAS ?

[email protected]