Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
¿Cómo soluciono los problemas de latencia alta en mis solicitudes de API Gateway que están integradas con Lambda?
Los tiempos de respuesta son lentos cuando realizo solicitudes a una API de Amazon API Gateway que está integrada con una función de AWS Lambda. Quiero determinar la causa de la latencia alta.
Resolución
Se debe abordar una latencia alta cuando un punto de enlace de la API que está integrado con una función de Lambda tarda demasiado en enviar respuestas a un cliente. Revisa las métricas de API Gateway para identificar la sección del flujo de solicitud/respuesta que provoca una latencia alta. Después de determinar la causa de la latencia alta, puedes trabajar para reducir los retrasos.
Filtra las métricas de CloudWatch para revisar las métricas de latencia en la API
Para identificar la sección del flujo de solicitud/respuesta que provoca una latencia alta, primero lleva a cabo los siguientes pasos:
- Observa la latencia del cliente después de enviar una solicitud a la API.
- Después de anotar la latencia general, abre la consola de Amazon CloudWatch. En el panel de navegación, selecciona Métricas, Todas las métricas. En el cuadro de búsqueda de métricas, escribe APIGateway. En los resultados de la búsqueda, selecciona API Gateway, ApiId.
- En la lista de API, filtra la API especificada mediante el ID de API o el nombre de la API. Tras el filtrado, marca las casillas de verificación IntegrationLatency y Latency.
Nota: El ID y el nombre de la API están disponibles en la consola de API Gateway. - Abre la pestaña Métricas diagramadas. En Estadísticas, selecciona Máximo. En Periodo, selecciona 1 minuto. Encima del gráfico, selecciona el periodo de tiempo personalizado. Elige el período de tiempo durante el cual el cliente experimentó una latencia alta.
- Revisa las métricas IntegrationLatency y Latency. Ten en cuenta los valores y las marcas de tiempo cuando estas métricas tienen valores altos. Los valores pueden explicar la causa de la latencia alta.
Comparación de las métricas para identificar la causa de la latencia alta
Continúa revisando las métricas relacionadas con el flujo de solicitud/respuesta para encontrar la causa de la latencia alta:
- Compara la métrica Latency de API Gateway con el valor de latencia general observado en el cliente.
Por ejemplo, una API tiene una métrica Latency con un valor máximo que es aproximadamente igual al valor de latencia máxima del cliente. Estos valores sugieren que el retraso máximo en el flujo de solicitud/respuesta es el tiempo que tarda API Gateway en procesar las solicitudes. El tiempo de procesamiento de API Gateway incluye el tiempo necesario para enviar solicitudes a Lambda, esperar las respuestas de Lambda y enviar respuestas a un cliente. - Compara la métrica IntegrationLatency con la métrica Latency de la API.
Por ejemplo, la métrica IntegrationLatency es aproximadamente igual a la métrica Latency. Estos valores indican que la latencia en la API se debe principalmente a las solicitudes de backend enviadas a Lambda que tardan más en responder. La métrica IntegrationLatency incluye el tiempo transcurrido entre que API Gateway envía una solicitud y recibe una respuesta del backend. - Cuando la métrica IntegrationLatency es baja en comparación con la métrica Latency de la API, los tiempos de respuesta del backend son bajos. En este escenario, se tarda más en procesar las solicitudes o respuestas de la API.
Por ejemplo, las plantillas de asignación configuradas en la API o en un autorizador de Lambda de API Gateway pueden generar retrasos. - Cuando la métrica Latency de la API es mucho más baja que la latencia observada en el cliente, la ruta puede provocar retrasos. Revisa la ruta entre el cliente y API Gateway para confirmar si hay puntos de enlace intermedios que estén añadiendo retrasos.
Por ejemplo, las conexiones VPN privadas o los proxies pueden provocar retrasos.
Visualización de las métricas de Lambda para identificar la causa de la IntegrationLatency alta
Por último, céntrate en las métricas de Lambda relacionadas con el flujo de solicitud/respuesta para encontrar la causa de la IntegrationLatency alta:
- Comprueba la métrica Duration de la función de Lambda para confirmar si el tiempo de ejecución de la función de Lambda es mayor. Si el tiempo de ejecución de la función de Lambda ha aumentado, revisa el registro de CloudWatch para encontrar la sección del código que provoca una latencia alta. De forma predeterminada, las funciones de Lambda registran las instrucciones START, END y REPORT en los registros de CloudWatch. Agrega instrucciones de registro personalizadas en cada sección lógica del código de la función de Lambda para obtener registros detallados de CloudWatch.
- Si la métrica Duration no cambió durante el periodo de latencia alta en el cliente, determina si el tiempo de inicialización aumentó. El tiempo de inicialización en una función de Lambda es el tiempo necesario para configurar el entorno de ejecución para procesar una solicitud. Las solicitudes que provienen de API Gateway pueden requerir un nuevo entorno para su procesamiento. Esto se configura a través de Lambda. Normalmente, el código que está presente fuera del controlador de funciones de Lambda se ejecuta durante el tiempo de inicialización. El código que tarda más en completarse puede provocar retrasos en los tiempos generales de respuesta al cliente.
Nota: El tiempo de inicialización se conoce como INIT o arranque en frío. - Para confirmar si hay algún aumento en la duración del tiempo de inicialización, verifica las instrucciones de informe en los registros de funciones de Lambda. Un tiempo de inicialización elevado para algunas solicitudes puede provocar un aumento en la métrica IntegrationLatency de API Gateway.
Información relacionada
Trabajar con métricas para las API HTTP
Dimensiones y métricas de Amazon API Gateway
Supervisión de la ejecución de la API WebSocket con métricas de CloudWatch

Contenido relevante
- preguntada hace 18 díaslg...
- preguntada hace 2 meseslg...
- preguntada hace 4 meseslg...
- preguntada hace un meslg...
- Respuesta aceptadapreguntada hace 2 meseslg...