비동기 이벤트 소스가 Lambda 함수를 트리거하는 데 시간이 오래 걸리는 이유는 무엇입니까?

3분 분량
0

비동기 이벤트 소스가 AWS Lambda 함수를 트리거할 때 지연이 발생합니다.

간략한 설명

Lambda 함수에서 비동기 호출을 사용하면 이벤트가 트리거되는 데 예상보다 오래 걸리는 것을 알 수 있습니다. 또는 추가 처리를 위해 Lambda 서비스에서 이벤트를 선택하지 않고 데드 레터 큐(DLQ)로 전송될 수 있습니다.

Lambda 함수를 비동기적으로 호출하는 여러 AWS 서비스가 있습니다.

해상도

호출 지연

일반적으로 요청을 처리하는 비동기 방식으로 인해 지연이 발생할 수 있습니다.

  • 요청을 하면 내부 비동기 대기열로 전송됩니다. Lambda는 내부 비동기 대기열에서 요청을 수집한 다음 추가 처리를 위해 Lambda 함수로 요청을 보냅니다. Lambda 함수에 오류가 발생할 경우 함수의 Amazon CloudWatch Logs에 지연이 발생할 수 있습니다. 요청이 함수 수준에서 조절되는 경우에도 지연이 발생할 수 있습니다.
  • 함수 수준에서 오류나 스로틀 데이터 요소가 없는 경우 지역 수준 지표에서 오류 및 스로틀을 확인하십시오. 다른 함수를 비동기적으로 호출한 후 오류가 발생하면 해당 함수가 상당히 지연됩니다. 따라서 함수에 오류가 없거나 데이터 요소를 조절하지 않더라도 함수에 대한 호출 또는 요청이 지연될 수 있습니다.
  • Lambda 함수와 동일한 Region에 있는 다른 함수가 비동기적으로 여러 번 호출되면 내부 대기열이 혼잡해집니다. 이 문제를 해결하려면 지역 수준 동시 실행을 늘리십시오.
  • 내부 대기열 백로그를 확인하려면 Lambda 함수에서 AWS X-Ray를 켜십시오. AWS X-Ray가 켜지면 드웰 타임 속성을 사용할 수 있습니다. 이 속성은 Lambda 서비스가 요청을 처리를 위해 Lambda 함수로 요청을 전송하기 전에 내부 대기열에서 소요한 총 시간을 보여줍니다.
  • 함수별 동시성 또는 예약된 동시성을 설정하여 대기열 백로그로부터 함수를 보호하십시오.

중복 호출

Lambda는 분산 서비스이며 함수가 한 번 이상 호출되도록 합니다. 그러나 함수를 두 번 이상 호출하면 중복이 발생할 수 있습니다. CloudWatch 로그에서 이러한 중복 호출을 확인하십시오.

  • 함수에서 중복 요청을 처리할 수 있도록 하는 것이 가장 좋습니다. 자세한 내용은 Lambda 함수를 역전능으로 설정하려면 어떻게 해야 합니까?를 참조하십시오.
  • Lambda에 대한 CloudWatch 로그를 검토하고 함수의 요청 ID를 확인하십시오. 로그에서 중복 이벤트의 요청 ID가 같거나 다른지 확인할 수 있습니다. 요청 ID는 Lambda에 대한 비동기 호출의 수명 주기 내내 동일하게 유지됩니다. 요청 ID가 동일한 경우 함수에 호출 재시도 및 복제를 일으킨 오류 데이터 포인트가 있는지 확인하십시오.
  • 요청 ID가 다르면 클라이언트 측에서 중복 호출이 발생하고 있는 것입니다.

호출 누락

CloudWatch 로그를 검토하여 누락된 호출과 지연된 호출을 구분하십시오. 지연된 호출의 경우 이 문서의 지연된 호출 섹션에 설명된 이전 단계를 따르십시오.

요청을 처리하기에 충분한 동시성이 없을 때 호출 누락이 발생합니다. 함수에 예약된 동시성이 있는 함수에서 오류가 발생하면 요청은 비동기 대기열에서 오랜 시간을 소비합니다. 그러면 요청이 Lambda에서 처리되지 않고 삭제됩니다. AsyncEventsDopped 지표를 검토하여 함수를 실행하지 않고 삭제된 이벤트 수를 확인하십시오.

DLQ를 구성한 경우 요청의 DLQ 또는 장애 발생 대상을 확인하십시오. 이벤트가 6시간 후에 내부 대기열에서 만료되는 경우 Lambda에서 처리하지 않고 요청을 DLQ로 보낼 수 있습니다.

비동기 호출을 위한 지표

비동기 호출에 대한 추가 지표를 검토하는 방법에 대한 자세한 내용은 AWS Lambda에 대한 새로운 비동기 호출 지표 소개를 참조하십시오.

관련 정보

비동기 호출

AWS Lambda 파워툴을 사용한 Lambda 함수 불능 처리

Lambda 함수 지표를 사용한 작업

AWS 공식
AWS 공식업데이트됨 일 년 전