api gateway + lambda 조합에서 이상하게… 오랜만에(?) api요청을 하면 3초정도…

api gateway + lambda 조합에서

이상하게…

오랜만에(?) api요청을 하면 3초정도 걸리고,

그 이후에는 유휴시간을 두지 않는다면 200ms내외로 응답이 오는 특성이 있는데…

뭔가 3초 정도 걸리는 시점엔 lambda 내부적으로 인스턴스를 띄우거나 혹은 깨우거나 이런 시간일꺼같은데 이걸 조금이라도 완화시키려면 슬립모드(?)로 가지 않도록 지속적으로 실행하는것 뿐이 없나요…?

5 thoughts on “api gateway + lambda 조합에서 이상하게… 오랜만에(?) api요청을 하면 3초정도…

  1. lambda cron 같이 일정시간마다 발생하는거로 실행할 순 있겠지만.. 어차피 지속적으로 요청이 발생하는 서비스라면 굳이 안해도 되지 않을까요?

  2. 람다를 써본 건 아니지만 내부적으로 인스턴스(컨테이너?)가 뜨는 시간이 맞을 것 같습니다. Heroku나 GAE 같은 경우도 비슷한 지연이 발생하고요. 람다 FAQ에도 이렇게 써있네요.

    Q: 이벤트에 응답하여 AWS Lambda 함수를 호출할 때 지연 시간은 어떻게 됩니까?

    AWS Lambda는 밀리초 내에 이벤트를 처리하도록 설계되었습니다. Lambda 함수가 생성되거나 업데이트된 직후 또는 최근에 사용되지 않은 경우 지연 시간이 더 길어집니다.

  3. 링크를 드린 부분을 보면 이런 ‘cold start’ 지연에 대한 몇가지 팁에 대해 언급하고 있는데요. 요약하면 1) memory 할당 증가(=CPU 성능 향상) 2) 코드 사이즈 줄이기(로딩 시간 감소)가 되겠네요. 실제로 테스트를 해보시면서 최적값을 찾으셔아 할 것 같습니다. 아무래도 주기적인 request가 젤 확실 할 것 같은데 제일 편한 CRON의 최소 1분이 만족할지… 실제 효과가 있을지 테스트가 필요할 것 같네요. https://forums.aws.amazon.com/thread.jspa?messageID=687412&#687412

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.