펑션 콜드 스타트, 로그 스트림 관련 문의

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 : 5.17.1
  • 뒤끝 펑션 버전 : 1.0.0
  • 프로젝트명 : 앨리스_DEV

이번에 펑션 0.5.n 버전에서 1.0.0으로 업데이트를 진행하고 업데이트 전 테스트를 진행하고 있습니다.

펑션으로 처리하는 부분들이 타임아웃에 걸려서 서버 오류가 나는데 1차원적으로는 먼저 콜드 스타트로 인한 타임아웃이라고 생각이 듭니다.

그런데 이게 최초 호출자만 나는 게 아닌 콜드 스타트를 발생하고 나서도 몇 회차 까지는 호출 오류가 나서 이게 정말 콜드 스타트로 인한 타임 아웃이 문제인지 아니면 펑션 1.0.0의 오류인지 알고싶어서 문의드립니다.

저희쪽에서 뒤끝 펑션의 콜드 스타트가 시작되서 펑션이 활성화되었다는 것을 알 수 있는 방법이 있을까요?

혹시 저희쪽에서 알 수 없다면 뒤끝에서 콜드 스타트가 발생된 시간 로그 같은게 남으면 전달받을 수 있을까요?

만약 알 수 있다면 콘솔에서 펑션 > 로그 스트림이 시작된 시간이 펑션 인스턴스가 활성화된 시간이라고 보면 되는걸까요?

그리고 추가적으로 콘솔 > 펑션 > 로그 스트림을 어떻게 읽어야 하는지도 궁금합니다.

그리고 만약에 펑션이 비활성화되서 콜드 스타트가 발생한 시점에 펑션 호출이 여러개를 했을 때 펑션이 다시 활성화될 때 까지 타임아웃이 걸릴 수도 있는걸까요?

그리고 콜드 스타트 후 펑션이 제대로 활성화가 이루어질 때 까지 대충 몇 분 정도 걸리는지도 궁금합니다.

예를 들어서 A유저가 펑션 호출 > 로딩중에 B 유저가 펑션 호출하고 A 유저는 타임아웃 걸리고 B 유저도 타임아웃 이런 형태가 이뤄질 수 있는게 맞을까요?

아니면 최초 호출한 A 유저만 타임아웃이 나고 B 유저는 두 번째 호출이기 때문에 펑션이 제대로된 응답을 해야하는게 맞는걸까요?

안녕하세요 개발자님,
문의해주신 내용과 관련해 상세 확인중에 있습니다.
확인 후 안내드릴 수 있도록 하겠습니다.

확인 내용 안내드립니다.

  1. 콜드 스타트와 타임아웃의 관계
    타임아웃은 콜드 스타트 시간을 제외하고 측정되므로, 일반적으로는 타임아웃과 직접적인 관련이 없습니다.
    단, A 유저의 요청으로 펑션이 콜드 스타트 중일 때, B, C, D 등 다른 유저들의 추가 호출이 이어지면, 콜드 스타트 완료 후 누적되었던 요청의 처리를 시도하며 일시적인 과부하와 함께 타임아웃이 발생할 수 있습니다.

    위와 같은 특수 상황을 제외하면, 타임아웃은 펑션 내 작성된 로직으로 인해 발생하며, 이는 로그 스트림에서 타임아웃 발생 여부를 확인할 수 있습니다.

  2. 콜드 스타트 여부 확인 방법
    콜드 스타트는 로그 스트림 내 Init Duration 항목을 통해 확인할 수 있으며, 해당 값이 콜드 스타트가 발생한 시간입니다.

  3. 콜드 스타트 이후 펑션 활성화 시간
    콜드 스타트 이후 펑션이 실행 가능한 상태가 되기까지의 시간은 펑션 SDK 크기 및 내부 초기화 로직에 따라 달라질 수 있습니다.

    • 1.0.0 버전에서는 기능 추가로 SDK 용량이 증가하였고, 이에 따라 Backend 초기화 시간은 최대 600ms까지 측정 확인되었으며, 0.5.0 버전에서는 400ms 수준으로 확인되어 SDK 용량 증가에 비해 초기화 시간의 증가는 상대적으로 크지는 않은 편입니다.
    • 펑션 로직이 실행되기 전에 서버를 통해 준비되는 시간은 약 400~500ms 내외로 확인되며, 기본 타임아웃 시간과 이를 감안하면 실제로 사용할 수 있는 시간은 약 9초 내외입니다. (사용하시는 펑션은 현재 기본 타임아웃 시간을 증가시켜드린 상태입니다.)