[컴][웹][GAE] google app engine 처음 반응속도 -cold start

구글 앱 엔진 처음 반응속도

 

loading request 를 줄이는 방법

google app engine (python)을 사용하는데, 이 녀석의 문제는 한참 있다가 접속하면 instance 가 다시 만들어지는데 시간이 많이 소요 된다.(필요한 library 나 resource 를 로딩하는 시간(Loading Request)때문에)  대략 2s~5s 정도 걸린다. instance 가 이미 loaded 상태라면, 0.01 이하면 충분한 작업들인데..ㅜ.ㅜ

이것을 cold start 라고 부르기도 하는데, java 관련 cold start 글에서 얘기하는 것을 python 에도 적용한다면 intereter 가 놀고 있으면 다른 app 에 할당해 주는 듯 하다. 내가 다시 intereter 를 얻으려면 시간이 좀 필요하고, 여튼 관련해서 좋은 해결책을 찾고 있다.


일단 아래 글에서 대략적인 해결책을 제시해 준다. 하지만 글에서 얘기하듯이 warmup request 가 제공되면 좋을 듯 하다.

 

warmup request

라고 글을 쓰다가 warmup request 를 찾아보니, 이미 제공하고 있었다. ㅜ.ㅜ 여튼 python 에서는 default 로 disabled 되어 있다고 한다.

근데 또 나는 이미 enable 시켜놓고 있었다. ㅠ.ㅠ 하지만, 글에서 얘기하듯이 항상 실행되는 것은 아니란다. warmup request 를 실행시키고 원래 request 를 실행시키는 것이 빠르지 않다면 그냥 원래 request 를 실행한다고 한다.

 

warmup request from Client 와의 차이

근데 결과적으로 warmup 도 request 에 대한 response 를 줘야 하는 것이라면, client 측에서 일부러 warmup request 를 날리게 할 수 있어도 같은 결과를 줄 수 있는데, 아무래도 GAE 내에서  communication 하는 것이라서 조금 더 빠를 수 있을 것 같긴 하다.

 

매시간마다 instance 호출하기

이런 방법을 사용하는것 말고, 매 5분 마다 instance 에 request 를 해서 계속 살려놓는 방법도 있다.

댓글 없음:

댓글 쓰기