SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
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.
Technical Leader at @SolidQ and Microsoft Data Platform MVP
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.
1.
#SQSummit
Query Store
Enrique Catalá Bañuls
Mentor
ecatala@solidq.com
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
20.
Encontrar y
arreglar
problemas de
regresión
Identificar
queries
“pesadas”
Realizar
análisis en
profundidad
de cargas de
trabajo
Reducir
riesgos ante
migraciones
Largo plazo/estratégicoCorto plazo/táctico
Query Store: Repaso
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!
0 likes
Be the first to like this
Views
Total views
1,316
On SlideShare
0
From Embeds
0
Number of Embeds
680
You have now unlocked unlimited access to 20M+ documents!
Unlimited Reading
Learn faster and smarter from top experts
Unlimited Downloading
Download to take your learnings offline and on the go
You also get free access to Scribd!
Instant access to millions of ebooks, audiobooks, magazines, podcasts and more.
Read and listen offline with any device.
Free access to premium services like Tuneln, Mubi and more.