Recomendaciones para responder a problemas de rendimiento dinámico

Se aplica a esta recomendación de lista de comprobación de eficiencia del rendimiento de Azure Well-Architected Framework:

PE:11 Responder a problemas de rendimiento en vivo. Planee cómo abordar problemas de rendimiento mediante la incorporación de líneas claras de comunicación y responsabilidades. Cuando se produzca una situación problemática, use lo que aprenda a identificar medidas preventivas e incorporarlas en la carga de trabajo. Implemente métodos para volver a las operaciones normales con mayor rapidez cuando se producen situaciones similares.

En esta guía se describen los procedimientos recomendados para responder a problemas de rendimiento dinámico. Los problemas de rendimiento real hacen referencia a desafíos y cuellos de botella en tiempo real que pueden dificultar el funcionamiento óptimo de una carga de trabajo. Solucionar estos problemas rápidamente no solo facilita la detección inmediata y la rectificación de los problemas de rendimiento, sino que también garantiza que la carga de trabajo cumpla de forma coherente sus pruebas comparativas de rendimiento. Si no se solucionan, pueden producirse complicaciones, como ralentizaciones, bloqueos y falta de respuesta del sistema, y degradar la experiencia del usuario. También pueden impedir que los usuarios completen sus tareas de forma eficaz y, a su vez, empañan la reputación de la organización.

Definiciones

Término Definición
Correlación de datos Alineación de registros, métricas y eventos de varias partes de la carga de trabajo para identificar las causas subyacentes.
Análisis de la causa raíz Proceso para identificar los factores subyacentes responsables de un problema.
Recuperación automática La capacidad de reparar automáticamente problemas sin intervención humana.
Auto-prevención Implementaciones dentro de una carga de trabajo para evitar posibles problemas y errores.

Estrategias de diseño principales

Cuando experimente un problema de rendimiento activo, debe estar preparado con los datos adecuados y un plan para responder al problema. Este plan debe incluir líneas claras de comunicación y responsabilidades. El objetivo principal es implementar soluciones que facilitan un retorno rápido a las operaciones normales y proporcionan información sobre el incidente. La integración de medidas preventivas en el flujo de trabajo es una estrategia fundamental. El objetivo es evitar que el mismo problema se produzca de nuevo o disminuir sus efectos en el rendimiento si no es evitable.

Preparación de problemas

La respuesta ideal a los problemas de rendimiento del sitio activo es precisa y rápida. La precisión y la velocidad en la corrección del rendimiento requieren preparación. Para responder eficazmente a los problemas de rendimiento en vivo, es fundamental supervisar las métricas de rendimiento clave, identificar la causa principal de los problemas e implementar soluciones o optimizaciones adecuadas. Para realizar estos pasos, es posible que tenga que analizar los registros de carga de trabajo, realizar pruebas de rendimiento, optimizar el código o las configuraciones y escalar los recursos. En los ejemplos siguientes se describen algunas áreas críticas de preparación:

  • Tener diagramas de arquitectura precisos. Los diagramas de arquitectura deben incluir todos los componentes y mostrar cómo interactúan. La representación visual puede ayudar a identificar cuellos de botella y puntos únicos de error que pueden provocar una degradación del rendimiento o una falta de disponibilidad. Lo ideal es que detecte y quite estos problemas antes de que causen problemas, pero tener un diagrama actualizado puede ayudarle a identificar problemas en momentos de alto estrés.

  • Compruebe el acceso a los datos. Los datos y los registros de los procesos de supervisión son fundamentales para responder a problemas de rendimiento en tiempo real y realizar análisis de causa principal. Pero es importante mantener la integridad y confidencialidad de los datos. Responder a problemas de rendimiento del sitio activo a menudo requiere acceso a los datos subyacentes que podrían no ser accesibles normalmente. Debe asegurarse de que el personal tenga acceso a los datos que necesitan cuando surjan problemas. Pero solo debe conceder acceso con privilegios mínimos y restringidos por el tiempo, y debe limitar ese acceso al personal autorizado.

  • Establecer alertas automáticas. Las alertas pueden ayudarle a identificar y solucionar los problemas en cuanto se produzcan. Las alertas deben generar notificaciones cuando el rendimiento de la carga de trabajo se desvía de las líneas base de rendimiento. Con el tiempo, debe ajustar las configuraciones de alerta para evitar generar demasiadas o demasiadas notificaciones. Las soluciones de supervisión que se usan necesitan recopilar suficientes datos para generar alertas. Estas alertas deben alinearse con los objetivos de rendimiento y las líneas base establecidas. Debe evitar generar alertas sobre problemas que sean relevantes para sus objetivos. Algunos ejemplos de alertas incluyen degradaciones en el uso de CPU, la memoria, los tiempos de respuesta y el rendimiento de la base de datos.

Creación de un plan de evaluación de prioridades

La creación de un plan de evaluación de prioridades implica la creación de un enfoque estructurado para identificar, escalar, analizar, priorizar y comunicar problemas de rendimiento del sitio activo. Un plan de evaluación de prioridades es una estrategia para responder a problemas de rendimiento activo. Garantiza que las interrupciones del rendimiento se aborden de forma rápida y eficaz, con roles y procedimientos claros. La mayoría de los problemas de rendimiento no merecen protocolos de recuperación ante desastres, pero pueden afectar a la funcionalidad de la carga de trabajo lo suficiente como para requerir la planificación de prioridades. Un plan de evaluación de prioridades bien documentado garantiza que todos los miembros del equipo están alineados y pueden actuar rápidamente, lo que minimiza el impacto en los usuarios y las cargas de trabajo. Un plan de evaluación de prioridades debe incluir los siguientes componentes:

  • Identificación y supervisión: implemente un sistema para identificar y supervisar problemas de rendimiento en tiempo real. Debe tener una lista de la información de contacto de las personas que son capaces de tomar decisiones o escalar problemas a niveles superiores. El plan también debe identificar roles y responsabilidades. Debe documentar qué cuentas obtienen acceso a la información protegida y durante cuánto tiempo.

  • Proceso de escalación: defina un proceso de escalación claro para asegurarse de que los problemas de rendimiento se escalan a los equipos o personas adecuados de forma oportuna. La definición del proceso debe incluir información de contacto e instrucciones para escalar problemas.

  • Análisis de causa principal: desarrolle un proceso para realizar un análisis de causa principal para identificar la causa subyacente de cada problema de rendimiento. El proceso debe implicar el análisis de registros y métricas de rendimiento y la realización de pruebas de diagnóstico para identificar el origen de cada problema.

  • Priorización: establezca un marco de priorización para determinar la gravedad de los problemas de rendimiento y priorizarlos en función de su efecto en la carga de trabajo y los usuarios.

  • Comunicación: cree un plan de comunicación para mantener a las partes interesadas informados sobre el estado de los problemas de rendimiento y el progreso de su resolución. Considere las actualizaciones periódicas, los informes de estado y los canales de comunicación claros.

  • Documentación: documente el plan de evaluación de prioridades, incluidos todos sus pasos, procesos y procedimientos recomendados. Esta documentación debe ser fácilmente accesible para los miembros del equipo que participan en la respuesta a problemas de rendimiento.

Desarrollo de métodos para identificar y resolver problemas

La resolución de problemas de rendimiento en vivo implica identificar y solucionar cualquier factor que pueda provocar una degradación del rendimiento o ineficiencias en una carga de trabajo activa. Los datos que recopila durante la supervisión son valiosos al investigar y resolver incidentes relacionados con el rendimiento. Estos datos proporcionan un registro histórico de las métricas de rendimiento. Cuando tenga datos de supervisión disponibles, puede analizar las causas principales e identificar los factores que contribuyen. Debe usar todos los datos de supervisión pertinentes para comprender y corregir cada problema de rendimiento.

Uso del análisis de la causa principal

El análisis de la causa principal requiere pruebas de hipótesis. Después de revisar los datos de supervisión, debe enumerar las posibles causas del problema de rendimiento y probarlos. Para realizar un análisis de causa principal en un problema de rendimiento activo, puede seguir estos pasos:

  1. Recopile la información. Recopile la mayor cantidad de información posible sobre el problema de rendimiento. Entre los ejemplos se incluyen mensajes de error, registros, métricas de rendimiento y cualquier otro dato relevante.

  2. Defina el problema. Defina claramente el problema identificando los síntomas y el efecto que tiene el problema en la carga de trabajo o los usuarios.

  3. Investigue las posibles causas. Reduzca el ámbito del análisis mediante la identificación del componente o área específicos de la carga de trabajo donde se está produciendo el problema de rendimiento. Identifique las posibles causas del problema de rendimiento en función de la información recopilada. Este proceso puede implicar el análisis de código, opciones de configuración, infraestructura o dependencias externas.

  4. Correlacionar datos. Profundice en los datos recopilados para identificar patrones, anomalías o correlaciones que podrían contribuir al problema de rendimiento. La correlación de datos es clave para identificar problemas de rendimiento y causas. Puede implicar la revisión de registros, el análisis de métricas de rendimiento y la realización de pruebas.

  5. Probar hipótesis. Formule hipótesis basadas en las posibles causas que identifique. Realice pruebas para validar o rebatir las hipótesis. Debe usar un entorno de prueba para ver si puede replicar el error.

  6. Implemente soluciones. Una vez que identifique una causa principal, desarrolle e implemente soluciones para solucionar el problema de rendimiento.

  7. Supervisar y validar. Después de implementar las soluciones, supervise continuamente la carga de trabajo para asegurarse de que se resuelve el problema de rendimiento. Valide la eficacia de las soluciones mediante la supervisión de las métricas de rendimiento y los comentarios de los usuarios.

Equilibrio: los pasos de un análisis de causa principal, como identificar posibles causas, probar hipótesis y documentar el análisis, pueden llevar mucho tiempo. Para correlacionar problemas de rendimiento, también debe recopilar y almacenar datos. El tiempo necesario y la infraestructura pueden agregar un trabajo significativo a los equipos de operaciones y al costo de la carga de trabajo.

Riesgo: si realiza un análisis de causa principal sin límites de protección de seguridad adecuados, existe el riesgo de exponer información confidencial al proporcionar acceso a los registros y los datos.

Participación en el soporte técnico del proveedor

El soporte técnico del proveedor puede ser un paso esencial cuando se tratan problemas de rendimiento continuos. Los proveedores tienen la experiencia, las herramientas, los recursos y la experiencia para ayudar a solucionar problemas con sus productos. El contrato de soporte técnico con el proveedor determina el nivel de soporte técnico que proporciona un proveedor.

A menudo es mejor trabajar en paralelo con los proveedores. Debe crear un plan para que algunos miembros del equipo colaboren con el soporte técnico del proveedor, mientras que otros siguen realizando una evaluación de prioridades y corrigen problemas de rendimiento. Los equipos de soporte técnico del proveedor también pueden hacer sugerencias sobre cómo ayudar a evitar y automatizar las respuestas a eventos similares.

Debe tener información de contacto disponible para su personal. Es posible que los proveedores también necesiten acceso a los datos para participar eficazmente en la solución de problemas. Debe tener un plan en vigor para autenticar y autorizar cuentas externas o de invitado para acceder a los datos de supervisión.

Obtenga información sobre los resultados

Después de corregir un problema de rendimiento del sitio activo, debe revisar lo que sucedió. El objetivo es aprender de problemas de rendimiento, no solo identificar problemas. La mejor manera de aprender es a través de la documentación. Documente cada problema y explique cómo corregirlo. Si un proveedor ayudó, trabaje con el proveedor para mejorar la documentación, entrenar a su equipo y modificar la carga de trabajo en consecuencia.

La documentación debe indicar cómo evitar que cada problema vuelva a ocurrir. Una manera de evitar problemas recurrentes es introducir automatización para responder a problemas comunes. La automatización debe agregar cualidades de recuperación automática y auto-prevención a una carga de trabajo. Junto con la automatización, puede crear alertas refinadas que le ayuden a responder pronto a los indicadores de problemas de rendimiento.

Facilitación de Azure

Desarrollo de métodos para identificar y resolver problemas: Azure proporciona varias herramientas que le ayudarán a responder a problemas de rendimiento en vivo:

  • Azure Monitor es una solución de supervisión completa que proporciona información sobre el rendimiento y el estado de las aplicaciones y la infraestructura. Supervisar ofrece características como métricas, registros, alertas y paneles para ayudarle a supervisar y diagnosticar problemas de rendimiento.

  • Application Insights es un servicio de administración del rendimiento de aplicaciones (APM) que ayuda a los desarrolladores y profesionales de DevOps a supervisar aplicaciones activas. Detecta automáticamente anomalías de rendimiento, recopila eventos y registros de nivel de aplicación y proporciona herramientas de análisis para diagnosticar problemas.

  • Log Analytics es un servicio que recopila y analiza los datos de registro de varios orígenes, incluidas las aplicaciones, las máquinas virtuales y los recursos de Azure. Al usar Log Analytics, puede consultar y analizar los datos de registro para obtener información sobre el rendimiento y el comportamiento de las aplicaciones.

Lista de comprobación de eficiencia del rendimiento

Consulte el conjunto completo de recomendaciones.