Nuevas posibilidades de monitorización para hacer el sistema mas predecible

20
Nuevas posibilidades de monitorización para hacer el sistema mas predecible Enrique Catala Bañuls Data Platform Architect Solid Quality Mentors [email protected]

Transcript of Nuevas posibilidades de monitorización para hacer el sistema mas predecible

Page 1: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

Nuevas posibilidades de

monitorización para hacer el

sistema mas predecible

Enrique Catala BañulsData Platform ArchitectSolid Quality [email protected]

Page 2: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

AgendaNuevas posibilidades de monitorización para

hacer el sistema mas predecible

• Resource Governor

• Rendimiento predecible

• Performance Studio

• Análisis del rendimiento

• Bloqueos de planes de ejecución

• Control de queries

Page 3: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

Resource Governor (RG)Introducción

• ¿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

Page 4: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

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.

o 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 5: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

• 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 6: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

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 enrutaa 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 7: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

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 8: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

Resource Governor (RG)Resource pools

• Los recursos limitables son CPU y RAM

• Un recurso posee dos partes

• MIN

o Aislada del resto de fondos

o Permite reserva mínima de recursos

o La suma de estas no puede superar 100

• MAX

o Compartida con el resto de fondos

o Permite especificar reserva máxima de recursos

o Su valor puede estar entre MIN y 100 inclusive

Page 9: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

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

Page 10: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

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 11: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

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 12: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

RESOURCE

GOVERNOR

DEMO 1

Page 13: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

Resource Governor (RG)Restricciones

• 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

o Puede que las estadísticas no sean las esperadas en estos casos

Page 14: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

Performance StudioIntroducción

• 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

Page 15: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

Performance StudioConceptos del colector de datos

• Proveedor de datos

– Fuentes de información

– De momento (RC0) solo: SQL Trace, Perform counters y consultas T-

SQL

• 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).

Page 16: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

Performance StudioConceptos del colector de datos

(continuación)

• 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

Page 17: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

DEMO 2

PERFORMANCE

STUDIO

Page 18: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

Bloqueo del plan de consultas

• “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 escalabilidad

o Actualizaciones suaves

o Fijamiento de planes para aplicaciones ISV

o Estabilidad entre sistemas de producción y de test

Page 19: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

Bloqueo de plan de consultas

• 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_cache

o Crea guías de planeamiento desde cache

• sys.fn_validate_plan_guide

o Validación de guías de planes

• Nuevas clases de eventos

o Guia de plan satisfactoria o insatisfactoria

• Nuevos contadores de rendimiento

o Guided Plan Executions/sec, Misguided Plan Executions/sec

Page 20: Nuevas posibilidades de monitorización para hacer el sistema mas predecible

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

¿ PREGUNTAS ?

[email protected]