Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Troubleshooting de bloqueos 2016

350 views

Published on

http://pa.summit.solidq.com
Presentación durante el SolidQ Summit Panama City 2016

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Troubleshooting de bloqueos 2016

  1. 1. #SQSummit Troubleshooting de Bloqueos Eladio Rincón erincon@solidq.com Conceptos, herramientas y resolución de problemas
  2. 2. Sponsors del SolidQ Summit Panamá
  3. 3. #SQSummit Troubleshooting de Bloqueos Eladio Rincón erincon@solidq.com Conceptos, herramientas y resolución de problemas
  4. 4. Troubleshooting de Bloqueos • Conceptos • Síntomas y Herramientas • Diagnóstico y Resolución • Recursos Agenda
  5. 5. Conceptos de Bloqueos • Tipos de bloqueos • Compatibilidad entre bloqueos • Qué recursos se bloquean • Niveles de aislamiento
  6. 6. Tipos de Bloqueos 6
  7. 7. Compatibilidad entre Bloqueos 7
  8. 8. Compatibilidad entre Bloqueos 8 N: no hay conflicto C: conflicto I: Ilegal
  9. 9. Qué Recursos se Bloquean 9
  10. 10. 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
  11. 11. Isolation Levels Dirty Read Non- Repeatable Read Phantoms Update Conflict Concurrency Model READ UNCOMMITTED Yes Yes Yes No READ COMMITTED 1 Locking 2 Snapshot No No Yes Yes Yes Yes No No Pessimistic Optimistic REPEATABLE READ No No Yes No Pessimistic SNAPSHOT No No No Yes Optimistic SERIALIZABLE No No No No Pessimistic Phenomena Allowed Problemas de Concurrencia
  12. 12. Resumen Cómo: Tipos de Bloqueos • Shared Update Exclusive Intent -- Qué Recursos • RID Key Page Table, … Quién • Usuarios • Aplicaciones
  13. 13. 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, …
  14. 14. 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
  15. 15. Síntomas y Herramientas • Herramientas • Eventos Extendidos (empezar con SSMS) • Blocked process Report (sp_configure) • DMVs
  16. 16. DEMO 16 Herramientas
  17. 17. 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
  18. 18. DEMO 18 Mejorar con índices
  19. 19. Resolución • Aligerar niveles de aislamiento • Bajar por orden (si es aceptable) • SERIALIZABLE • REPETEABLE • READ-COMMITTED • READ-UNCOMMITED
  20. 20. 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)
  21. 21. DEMO 21 Escalado de bloqueo
  22. 22. 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
  23. 23. 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!
  24. 24. 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
  25. 25. 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
  26. 26. 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

×