Consigue un rendimiento predecible de tu instancia SQL Server mediante la feature Resource Governor. Analiza el rendimiento mediante la suite DataCollector y controla tus consultas con los bloqueos de planes de ejecución.
Nuevas posibilidades de monitorización para hacer el sistema mas predecible
1. Nuevas posibilidades de
monitorización para hacer el
sistema mas predecible
Enrique Catala Bañuls
Data Platform Architect
Solid Quality Mentors
ecatala@solidq.com
2. Agenda
Nuevas posibilidades de monitorización para
hacer el sistema mas predecible
• Resource Governor
•
Rendimiento predecible
•
Análisis del rendimiento
•
Control de queries
• Performance Studio
• Bloqueos de planes de ejecución
3. 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
4. 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
5. Resource Governor (RG)
Vistazo
• 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
6. 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
7. 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”
8. 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
10. 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
11. 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)
13. 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
14. Performance Studio
Introducció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
15. Performance Studio
Conceptos del colector de datos
• Proveedor de datos
–
Fuentes de información
– De momento (RC0) solo: SQL Trace, Perform counters y consultas TSQL
• 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 frecuencia
Ej. Solo recoge wait_time_ms y max_wait_time_ms desde sys.dm_os_wait_stats DMV cada 5
segundos).
16. Performance Studio
Conceptos 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
18. 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
19. 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