

# PERF08-BP01 Comprender las áreas en las que el rendimiento es lo más importante
<a name="perf_tradeoffs_performance_critical_areas"></a>

 Comprenda y detecte las áreas en las que un aumento del rendimiento de la carga de trabajo tendrá un impacto positivo en la eficiencia o en la experiencia del cliente. Por ejemplo, un sitio web que tenga una gran interacción del cliente se beneficiaría de utilizar servicios en la periferia para acercar la entrega de contenido a los clientes. 

**Resultado deseado:** aumentar la eficiencia del rendimiento mediante la comprensión de su arquitectura, patrones de tráfico y patrones de acceso a los datos e identificar sus tiempos de latencia y procesamiento. Identifique los posibles cuellos de botella que puedan afectar a la experiencia del cliente a medida que aumenta la carga de trabajo. Al identificar esas áreas, fíjese en qué solución podría desplegar para eliminar esos problemas de rendimiento.

 **Patrones comunes de uso no recomendados:** 
+  Supone que las métricas de computación estándar, como `CPUUtilization` o la presión de memoria, son suficientes para detectar problemas de rendimiento. 
+  Solo se utilizan las métricas predeterminadas registradas por el software de supervisión seleccionado. 
+  Solo se revisan las métricas cuando hay un problema. 

 **Beneficios de establecer esta práctica recomendada:** el conocimiento de las áreas críticas de rendimiento ayuda a los propietarios de la carga de trabajo a supervisar los KPI y a priorizar las mejoras de alto impacto. 

 **Nivel de riesgo expuesto si no se establece esta práctica recomendada:** Alto 

## Guía para la implementación
<a name="implementation-guidance"></a>

Configure el seguimiento de extremo a extremo para identificar los patrones de tráfico, la latencia y las áreas esenciales de rendimiento. Supervise los patrones de acceso a los datos para detectar consultas lentas o datos deficientemente fragmentados y particionados. Identifique las áreas restringidas de la carga de trabajo mediante pruebas de carga o supervisión.

## Pasos para la aplicación
<a name="w2aac19c11c11b5b6c17"></a>

1.  Configure la supervisión de extremo a extremo para capturar todos los componentes y métricas de la carga de trabajo. 
   +  Use [Amazon CloudWatch Real-User Monitoring (RUM)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) para capturar las métricas de rendimiento de las aplicaciones a partir de las sesiones reales de los usuarios en el cliente y del frontend. 
   +  Configure [AWS X-Ray](https://aws.amazon.com/xray/) para realizar un seguimiento del tráfico a través de las capas de la aplicación e identificar la latencia entre los componentes y las dependencias. Utilice los mapas de servicios de X-Ray para ver las relaciones y la latencia entre los componentes de la carga de trabajo. 
   +  Use [Información sobre rendimiento de Amazon Relational Database Service](https://aws.amazon.com/rds/performance-insights/) para ver las métricas de rendimiento de la base de datos e identificar las mejoras de rendimiento. 
   +  Use [Supervisión mejorada de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html) para ver las métricas de rendimiento del sistema operativo de la base de datos. 
   +  Recopile [métricas de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) por componente de carga de trabajo y servicio e identifique qué métricas afectan a la eficiencia del rendimiento. 
   +  Configure [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) para obtener información y recomendaciones adicionales sobre el rendimiento. 

1.  Lleve a cabo pruebas para generar métricas, identificar patrones de tráfico, cuellos de botella y áreas críticas de rendimiento. 
   +  Configure [«canaries» sintéticos de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) para imitar las actividades del usuario basadas en el navegador mediante programación mediante trabajos de `cron` o expresiones de tasa para generar métricas coherentes a lo largo del tiempo. 
   +  Utilice la solución [Pruebas de carga distribuidas en AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) para generar picos de tráfico o probar la carga de trabajo con la tasa de crecimiento prevista. 

1.  Evalúe las métricas y la telemetría para identificar sus áreas fundamentales de rendimiento. Revise estas áreas con su equipo con el fin de analizar la supervisión y las soluciones para evitar los cuellos de botella. 

1.  Experimente con las mejoras de rendimiento y mida los cambios con datos. 
   +  Use [CloudWatch Evidently](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently.html) para probar las nuevas mejoras y el impacto en el rendimiento de la carga de trabajo. 

 **Nivel de esfuerzo para el plan de implementación:** Para establecer esta práctica recomendada, debe revisar sus métricas de extremo a extremo y conocer el rendimiento actual de la carga de trabajo. Se trata de un nivel de esfuerzo moderado para configurar la supervisión de extremo a extremo e identificar sus áreas fundamentales de rendimiento. 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [Documentación de X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) 
+  [CloudWatch RUM y X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-RUM.html) 

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (Introducción a la Amazon Builders’ Library) (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Demostración de Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Ejemplos relacionados:** 
+  [Medición del tiempo de carga de la página con Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Cliente web de Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 
+  [SDK de X-Ray para Node.js](https://github.com/aws/aws-xray-sdk-node) 
+  [SDK de X-Ray para Python](https://github.com/aws/aws-xray-sdk-python) 
+  [SDK de X-Ray para Java](https://github.com/aws/aws-xray-sdk-java) 
+  [SDK de X-Ray para .Net](https://github.com/aws/aws-xray-sdk-dotnet) 
+  [SDK de X-Ray para Ruby](https://github.com/aws/aws-xray-sdk-ruby) 
+  [Daemon de X-Ray](https://github.com/aws/aws-xray-daemon) 
+  [Pruebas de carga distribuidas en AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 