티스토리 뷰

Server/AWS

Lambda 서비스 Q & A

Sh.TK 2019. 3. 16. 19:24

람다를 사용하다 발생한 문제점 그리고 미처 발견하지 못했던 특징들을 기록하기 위한 페이지로 람다의 기본적인 특징은 다음의 링크를 참조하면 될 것 같다. 그리고 이 페이지에 대한 정보는 모두? 공식 문서를 참조했다.



Q. 람다의 구조(동시성)

A. 람다는 기본적으로 1개의 Worker를 가지고 있는 Container 개념이다. 예를 들어 하나의 람다 함수에 동시성 예약이 1개로 설정되어있다면, 해당 함수는 1개 이상의 업무는 할 수 없다.

  • 동시성 개수: 한 시점(ms)을 기준으로 실행 가능한 개수.
  • 동시성 제한: AWS Support의 요청을 통해 확장은 가능하나 기본적으로 하나의 계정에는 1000개로 제한함.
  • 동시성 예약: 람다는 기본적으로 1000개의 동시성 제한이 있는데, 이를 각 개별적으로 동시성을 람다 함수에 설정할 수 있다. 예를 들어 2개의 함수 A가 있다고 가정하면, A의 경우 동시성을 100개 제한을 하면(900개는 예약되지 않는 동시성으로 남음) 이는 동시에 100개가 넘는 호출을 받으면 100개를 제외한 나머지 호출에는 에러(429 TooManyRequestsException)를 발생한다.



Q. 람다가 초당 몇개의 함수를 처리할 수 있는지?

A. 람다는 하나의 컨테이너에서 하나의 업무만 처리를 할 수 있으므로, 요청 속도 = 동시성 예약 / 함수 실행 시간 으로 정의된다.

요청 속도

요청 속도는 Lambda 함수가 호출된 속도를 뜻합니다. 폴 기반 서비스를 제외한 모든 서비스에서 요청 속도는 이벤트 소스가 이벤트를 생성하는 속도입니다. 폴 기반 서비스에서 AWS Lambda는 다음과 같이 요청 속도를 계산합니다.

request rate = number of concurrent executions / function duration
예를 들어 스트림에 5개의 활성 샤드가 있고(5개의 Lambda 함수가 동시 실행) Lambda 함수를 호출하는 데 약 2초가 걸린다고 한다면 요청 속도는 초당 2.5 요청이 됩니다.



Q. 람다 함수를 5000개 비동기로 요청을 해봤는데 처음은 약 900개가 조금 넘게 에러가 발생하였고, 몇분뒤 재요청으로 5000개를 보낸 경우, 하나의 에러 없이 처리가 되었다. 그 이유는?

A. 자동 조정 기능 때문인데, 처음 500~3000회 이상의 요청이 있는 경우, Asia/Seoul 기준으로 500개가 증가한다. 이후, 지속적으로 요청이 발생할 때마다 매분 500개씩 추가로 증가한다.

자동 조정

AWS Lambda는 증가된 트래픽에 응답하여 동시성 한도까지 함수 실행을 동적으로 확장합니다. 로드가 지속되는 상황에서는 함수의 동시성이 500~3000회의 동시 실행 횟수에서 초기 레벨까지 증가합니다. 이 횟수는 지역에 따라 다릅니다. 최초의 증가 이후 함수의 용량은 로드가 수용될 때까지 또는 리전 내 모든 함수의 동시성 합계가 한도에 도달할 때까지 증가하는데, 매분 동시 실행이 500회씩 추가로 증가합니다.



Q. 발전량 예측 성능 테스트를 진행 중, 비동기로 지속적으로 요청을 하였는데 500 에러코드가 발생하였다. 원인은?

A. 테스트를 2가지 방법으로 진행하였다. 1번째는 Apigateway에 호출2번째는 Lambda 함수에 직접적으로 호출1번째의 경우 500에러가 발생하였고, 2번째의 경우 429에러가 발생하였다.

'Server > AWS' 카테고리의 다른 글

Kinesis와 DynamoDB 장,단점  (0) 2019.03.16
[퍼옴] Aws ECS 구조와 특징  (0) 2018.02.27
boto3 client에 관한 간단한 메모  (0) 2018.02.06
EBS snapshot 활용  (0) 2017.05.19
AWS SQS 라이브러리 추가 중 에러에 대한 기록...  (0) 2017.05.08
댓글
공지사항
최근에 올라온 글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함