Troubleshooting de bloqueos 2016
-
Upload
solidq -
Category
Technology
-
view
226 -
download
4
Transcript of Troubleshooting de bloqueos 2016
#SQSummit
Troubleshooting de Bloqueos
Eladio Rincón
Conceptos, herramientas y resolución de problemas
Sponsors del SolidQ Summit Panamá
#SQSummit
Troubleshooting de Bloqueos
Eladio Rincón
Conceptos, herramientas y resolución de problemas
Troubleshooting de Bloqueos
• Conceptos
• Síntomas y Herramientas
• Diagnóstico y Resolución
• Recursos
Agenda
Conceptos de Bloqueos
• Tipos de bloqueos
• Compatibilidad entre bloqueos
• Qué recursos se bloquean
• Niveles de aislamiento
Tipos de Bloqueos
6
Compatibilidad entre Bloqueos
7
Compatibilidad entre Bloqueos
8
N: no hay conflicto
C: conflicto
I: Ilegal
Qué Recursos se Bloquean
9
Niveles de Aislamiento
• Tipos ANSI• READ UNCOMMITTED
• READ COMMITTED
• REPEATABLE READ
• SERIALIZABLE
• Desde SQL Server 2005• SNAPSHOT
• Para soportar bloqueos optimistas:• Lectores no bloquean a escritores y viceversa
Isolation Levels
Dirty Read
Non-Repeatable
Read PhantomsUpdate Conflict
Concurrency Model
READ UNCOMMITTED
Yes Yes Yes No
READ COMMITTED
1 Locking2 Snapshot
NoNo
YesYes
YesYes
NoNo
PessimisticOptimistic
REPEATABLE READ
No No Yes No Pessimistic
SNAPSHOT No No No Yes Optimistic
SERIALIZABLE No No No No Pessimistic
Phenomena Allowed
Problemas de Concurrencia
Resumen
Cómo: Tipos de Bloqueos
• SharedUpdateExclusiveIntent --
Qué Recursos
• RIDKeyPageTable, …
Quién
• Usuarios
• Aplicaciones
Síntomas y Herramientas
• Duración de operaciones difícil de predecir
• Mensajes de error• Lock timeout
• Víctimas de abrazos mortales
• Informes de errores (blocked process report)
• Eventos extendidos (system health)
• En muchas ocasiones, los síntomas confunden• Planes subóptimos
• Mal código, mal mantenimiento, mal diseño, …
Síntomas y Herramientas
• Herramientas• Informes de SSMS
• sp_who2
• master..sysprocesses• sp_whoisactive (Adam Machanic)
• Sp_ask_Brent; (Brent Ozar)
• Cazabloqueadores (Miguel Egea) http://portalsql.com/index.php/2010/01/descubrir-bloqueos-en-sql-server
• Sp_blocker
Síntomas y Herramientas
• Herramientas• Eventos Extendidos (empezar con SSMS)
• Blocked process Report (sp_configure)
• DMVs
DEMO
16
Herramientas
Resolución
• Mejorar Consultas
• Si las consultas duran menos, menos colisión
• Si utilizas mejores índices, quizás evites colisiones• Índices clustered bloqueados en INSERT, UPDATE Y
DELELE
• Índices non-clustered bloqueados en UPDATE
• Crea índices de cobertura
DEMO
18
Mejorar con índices
Resolución
• Aligerar niveles de aislamiento
• Bajar por orden (si es aceptable)• SERIALIZABLE
• REPETEABLE
• READ-COMMITTED
• READ-UNCOMMITED
Resolución
• Escalado de bloqueo
• Al adquirir n bloqueos (+- 5000) SQL Server intenta aligerar presión en memoria para bloqueos
• Decide ESCALAR el bloqueo “hacia arriba”• PARTICIÓN, o TABLA
• Opciones de configuración• TABLE
• DISABLE
• AUTO (PARTICIÓN)
DEMO
21
Escalado de bloqueo
Troubleshooting de Bloqueos
• Aclara los Conceptos
• Coge soltura con las Herramientas (ver recursos)• La mayoría gratuitas
• Create tu procedimientos
• Create tus trabajos
• Diagnostica y resuelve
Resumen
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!
Recursos (Documentación)
• https://technet.microsoft.com/en-us/library/jj856598(v=sql.110).aspx
• Lock Modes• https://technet.microsoft.com/en-
us/library/ms175519(v=sql.105).aspx
• Lock Granularity and Hiearchies• https://technet.microsoft.com/en-
us/library/ms189849(v=sql.105).aspx
• Locking Hints• https://technet.microsoft.com/en-
us/library/ms189857(v=sql.105).aspx
• Lock Compatibility• https://technet.microsoft.com/en-
us/library/ms186396(v=sql.105).aspx
Recursos Documentación
• Lock Escalation (blogs MSDN)• http://blogs.msdn.com/b/sqlserverstorageengine/
archive/2006/05/17/lock-escalation.aspx
• Niveles de Aislamiento• https://msdn.microsoft.com/en-
us/library/cc546518.aspx
Recursos
• Cazabloqueos (Miguel Egea)• http://portalsql.com/index.php/2010/01/descubr
ir-bloqueos-en-sql-server/
• Adam Machanic• http://sqlblog.com/blogs/adam_machanic/archiv
e/2012/03/22/released-who-is-active-v11-11.aspx
• Brent Ozar• http://www.brentozar.com/blitz/
• PSS