Tanto en SQL Server 2016 como en SQLAzure (PaSS), Microsoft nos proporciona nuevas herramientas para que el comportamiento de SQL Server sea más predecible. Con estas nuevas herramientas (QueryStore) como administrador de BBDD tienes nuevas posibilidades para analizar el rendimiento de consultas concretas, de patrones de consultas, y si suceden cambios importantes en su comportamiento. Venga a esta sesión para entender QueryStore y sacarle más partido a su servidor SQL Server.
2. Contenido de la sesión
• Live Query Statistics (LQS)
• Query Store
3. El infierno del DBA
La aplicación
no responde
Rendimiento
aleatorio
Problemas
de regresion
4. Live Query Statistics (LQS)
• Identificación rápida
de cuellos de botella
• Ver en tiempo real
• Filas/sec
• Tiempo consumido
• Progreso de operador
• Warnings
5. Live Query Statistics (LQS)
• DMVs
• sys.dm_exec_requests
• sys.dm_exec_sql_text
• sys.dm_exec_query_memory_grants
• sys.dm_exec_query_plan
• sys.dm_exec_query_profiles
• Activación
• SET STATISTICS XML ON | SET STATISTICS PROFILE ON
• Xevents capturando query_post_execution_showplan
7. Live Query Statistics
• Limitaciones
• Tiene que ser activado previa ejecución de la
query
• No se soportan procedimientos almacenados
compilados nativos
• Requiere
• SHOWPLAN para ver la pestaña resultados
• VIEW SERVER STATE para ver estadísticas live
8. El infierno del DBA
La aplicación
no responde
Rendimiento
aleatorio
Problemas
de regresion
9. Regresión de rendimiento
• El optimizador utiliza dos tipos de clave
• Conforme los parámetros cambian, el plan de
ejecución óptimo puede ser otro
Y si lo estima
incorrectamente?
10. Query Store: ¿Por qué?
Problemas
•Tiempo
detección
incidencias
•Tiempo
resolución del
problema
Soluciones
•Información de
rendimiento
historico
•Forzar plan
anterior
mediante GUI
11. Query Store: Cómo funciona
• Texto de
consulta
• Métricas de
rendimiento
• Historificado por
tiempo
• Permite forzado
de planes
• Configuracion de
recolección
Durability latency controlled by DB
option
DATA_FLUSH_INTERNAL_SECONDS
Query Store
Async write-
back
Compile
Execute
SQL
Plan store
Runtime
stats
Query
Store
schema
Compile
MSG
Execute MSG
Async write-back
Query
Store
12. Query Store: Cómo funciona
Existe en
plan caché?
Compilar y optimizar
query
Ejecucion query
Fin de ejecución
NO
Ejecutar query
Necesario
recompilar?
NO
Query Store
Obtener plan de caché
SI
SI
Enviar texto y plan
Nuevo plan forzado
Obtener plan forzado
13. Query Store: Almacenamiento
Captura de datos en memoria para minimizar E/S
Persistencia de datos asíncrona en background
Query execution Query Store
async
Compile
Execute
Query Store
plan store
Runtime
stats store
Internal
tables
Query text and plan
Query execute stats
14. Query Store: Lectura
Vistas de mezcla entre datos in-memory y on-disk
Los usuarios siempre ven el “ultimo” dato
Query execution Query Store
async
Compile
Execute
Query Store
plan store
Runtime
stats store
Internal
tables
Query text and plan
Query execute stats
Query Store views (TVF)
15. Query Store: Tracking
Tablas internas
Query
text
Query Plan
Runtime
stats
1 -n1 -n
Context
settings
sys.
Compile stats
query_store_query_text
query_context_settings
query_store_query
query_store_plan
Runtime stats
query_store_runtime_stats_inte
rval
query_store_runtime_stats
Vistas expuestas
One row per query text, per
plan affecting option
(example: ANSI NULLS
on/off)
One row per
plan (for each
query)
Runtim
e stats
interval
One row per
plan, per time
interval
(example: 5 min)
16. Query Store: configuraciones
• Operation mode [OFF | READ_ONLY | READ_WRITE]
• Actual | Requested (status)
• Data flush interval (minutes)
• Statistics Collection Interval (minutes)
• Max Size (MB)
• Capture Mode [None | ALL | AUTO]
• Stale Query Threshold (Days)
• Purge Query Data
18. Query Store: Uso típico
Activar Query
Store
(ALTER DB)
Captura de
datos por
Query Store
Buscar
“patrónes
problemático
s”
Aplicar
FORCE PLAN
19. Query Store: Uso típico
• Queries con regresión de rendimiento
• Queries con regresión de rendimiento en
período de tiempo
• Queries con mayor coste en un período de
tiempo
• Coste de compilación de queries
• Forzar plan de ejecución
21. También puedes preguntar tus
dudas con el hashtag
#SQSummit en Twitter
ADAPTIVE BI FRAMEWORK
Te ayudaremos a mejorar la velocidad de desarrollo de tu plataforma de
analítica de negocio basada en nuestra experiencia:
•Diseña antes de construir
•Automatización de procesos por ETL
•Servicios de mentoring para ayudarte a conseguir mejores prácticas para la construcción
de procesos específicos y plataformas de analítica de negocio
•Muy fácil de mantener
SOLIDQ FLEX SERVICES
Con SolidQ Flex Services evitarás sustos, consiguiendo que tus sistemas
sean estables. Desde una solución sencilla de monitorización, hasta un
servicio de atención de incidencias 24/7, mantenimiento proactivo,
resolución de problemas y línea de soporte.
Todo con un coste fijo mensual… y tú dedica el tiempo a las cosas
importantes.
¡Gracias!