

# PERF01-BP06 Realizar pruebas comparativas para tomar decisiones arquitectónicas
<a name="perf_architecture_use_benchmarking"></a>

 Mida el rendimiento de una carga de trabajo existente para entender cómo rinde en la nube y fundamentar sus decisiones arquitectónicas en esos datos. 

 **Patrones comunes de uso no recomendados:** 
+  Utiliza pruebas comparativas de uso común que no son indicativas de las características concretas de su carga de trabajo. 
+  La única referencia que tiene en cuenta son los comentarios y las percepciones de los clientes. 

 **Beneficios de establecer esta práctica recomendada:** el estudio comparativo de su implementación actual le permite medir las mejoras del rendimiento. 

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

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

 Utilice la evaluación comparativa con pruebas sintéticas para evaluar el rendimiento de los componentes de su carga de trabajo. Las pruebas comparativas suelen ser más rápidas de configurar que las pruebas de carga y se utilizan para evaluar la tecnología de un componente concreto. Estas pruebas comparativas suelen usarse al comienzo de un nuevo proyecto, cuando aún no se tiene una solución completa para realizar una prueba de carga. 

 Puede crear sus propias pruebas comparativas personalizadas, o bien usar un estándar industrial, como [TPC-DS](http://www.tpc.org/tpcds/), para comparar sus cargas de trabajo. Las pruebas comparativas sectoriales son útiles cuando se comparan entornos. Los puntos de referencia personalizados son útiles para encontrar tipos específicos de operaciones que espera realizar en su arquitectura. 

 Con las pruebas comparativas, es importante realizar los preparativos necesarios en el entorno de prueba para asegurarse de que los resultados obtenidos son válidos. Ejecute la misma comparativa muchas veces para asegurarse de que detecta cualquier variación que haya podido surgir con el tiempo. 

 Como las pruebas comparativas por lo general se ejecutan más rápido que las pruebas de carga, pueden usarse antes en la canalización de despliegue para y proporcionan información de una forma más rápida sobre las desviaciones del rendimiento. Al evaluar un cambio importante en un componente o servicio, puede resultar más rápido usar una prueba comparativa para determinar si el esfuerzo que conlleva el cambio es justificable. Es importante usar pruebas de carga junto con las pruebas comparativas, ya que las pruebas de carga le informan del rendimiento de la carga de trabajo en producción. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Defina las métricas (como el uso de la CPU, la latencia o el rendimiento) para evaluar el rendimiento de su carga de trabajo. 
+  Identifique y configure una herramienta de pruebas comparativas que sea adecuada para su carga de trabajo. Puede utilizar servicios de AWS (como [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)) o una herramienta de terceros que sea compatible con su carga de trabajo. 
+  Realice las pruebas comparativas y supervise las métricas durante la prueba. 
+  Analice y documente los resultados de las pruebas comparativas para identificar problemas y cuellos de botella. 
+  Utilice los resultados de las pruebas para tomar decisiones arquitectónicas y ajustar su carga de trabajo. Para ello, puede ser necesario cambiar los servicios o adoptar nuevas características. 
+  Tras realizar el ajuste, repita las pruebas de su carga de trabajo. 

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

 **Documentos relacionados:** 
+  [Centro de arquitectura de AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [La Biblioteca de soluciones de AWS](https://aws.amazon.com/solutions/) 
+  [Centro de conocimiento de AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 

 **Vídeos relacionados:** 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Optimize applications through Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demostración de Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Ejemplos relacionados:** 
+  [Ejemplos de AWS](https://github.com/aws-samples) 
+  [Ejemplos de SDK de AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [Pruebas de carga distribuidas](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 
+  [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) 