PERF 8: ¿Cómo utiliza las compensaciones para mejorar el rendimiento?

Cuando diseñe soluciones, determinar las compensaciones le permite seleccionar un enfoque óptimo. A menudo, puede mejorar el rendimiento con el intercambio de la consistencia, la durabilidad y el espacio por tiempo y latencia.

Recursos

Introducing The Amazon Builders’ Library (DOP328)
Amazon Builders’ Library
Best Practices for Implementing Amazon ElastiCache

Prácticas recomendadas:

Plan de mejora

Comprenda las áreas donde el rendimiento es más crítico

  • Identifique las áreas restringidas de la carga de trabajo: Utilice la prueba de carga o el monitoreo para identificar las áreas restringidas (memoria, CPU, métricas personalizadas y otros indicadores clave de rendimiento).
  • Aprenda sobre los servicios y los patrones de diseño

  • Comprenda las opciones de los productos disponibles: Conozca qué opciones de configuración de rendimiento están disponibles y cómo pueden impactar en la carga de trabajo. La optimización del rendimiento de la carga de trabajo depende de la comprensión de la forma en que estas opciones interactúan con su arquitectura y el impacto que tienen tanto en el rendimiento medido como en el rendimiento percibido por los usuarios.
  • Evalúe los patrones de diseño de la Amazon Builders’ Library: La Amazon Builders’ Library ofrece información detallada de cómo Amazon crea y opera la tecnología. Estos artículos gratuitos en la biblioteca están escritos por ingenieros sénior de Amazon y cubren temas de arquitectura, entrega de software y operaciones. Por ejemplo, puede ver de qué manera Amazon automatiza la entrega de software para alcanzar más de 150 millones de implementaciones al año o cómo los ingenieros de Amazon implementan principios, como la partición aleatoria para crear sistemas resistentes de alta disponibilidad y tolerantes a los errores.
    Amazon Builders’ Library
  • Identifique cómo las compensaciones impactan en los clientes y en la eficiencia

  • Identifique las compensaciones: Utilice las métricas y el monitoreo para identificar las áreas de rendimiento deficientes en el sistema. Determine de qué manera llevar a cabo mejoras y cómo las compensaciones impactarán en el sistema y en la experiencia del usuario. Por ejemplo, la implementación de datos en caché puede ayudar a mejorar drásticamente el rendimiento, pero requiere una estrategia clara para cómo y cuándo actualizar o invalidar los datos en caché a fin de evitar conductas incorrectas del sistema.
  • Mida el impacto de las mejoras de rendimiento

  • Utilice una combinación de estrategias: Un sistema de buena arquitectura utiliza una combinación de estrategias relacionadas con el rendimiento. Determine qué estrategia tendrá el mayor impacto positivo en un punto de conflicto o cuello de botella determinado. Por ejemplo, la partición de datos mediante múltiples sistemas de bases de datos relacionales puede mejorar el rendimiento general al mismo tiempo que conserva el soporte para las transacciones y, en cada partición, el almacenamiento de caché puede ayudar a reducir la carga.
  • Utilice diversas estrategias relacionadas con el rendimiento

  • Utilice un enfoque basado en los datos para desarrollar su arquitectura: A medida que implementa cambios en la carga de trabajo, recopile y evalúe las métricas para determinar el impacto de esos cambios. Mida el impacto en los sistemas y en el usuario final para comprender de qué manera las compensaciones impactan en la carga de trabajo. Utilice un enfoque sistemático, como la prueba de carga, para explorar si las compensaciones mejoran el rendimiento.