2010-01-21 3 views
5

Java 및 Spring MVC 3.0을 사용하는 Google App Engine 앱이 있습니다. 많은 요청을하지 않고 2 분이 지나면 다음 요청은 응답에 약 12 ​​초가 걸린 약 5 초의 CPU 시간을 사용하는로드 요청입니다. 때로는 1 분 동안 트래픽이없는 경우에도로드 요청을 수행합니다.Google App Engine로드 요청 발생 빈도 매우 자주

Google은 사이트에 트래픽이 꾸준히 유입되면 걱정할 필요가 없다고 말합니다.하지만 꾸준한 흐름이 있어도 트래픽이 없으면 1 시간이 지나야 할 수도 있습니다. 분.

이것은 JVM 인스턴스가 비활성화되는 정상적인 유휴 시간입니까?

편집 : 조사한 결과 JDO 초기화가 가장 많은 시간 (~ 6 초)이 걸리는 부분이라는 것을 알았습니다. 그리고 내가 component-scan을 스프링 해제하고 수동으로 컨트롤러를 지정하면 스프링 설치 시간이 1.5 초가됩니다. 로딩 요청에 jdo를 사용하지 않으면 요청 응답 시간을로드하는 것이 ~ 12 초가 아닌 ~ 3 초입니다.

우리가 DispatcherServlet을 memcache로 직렬화 할 수 있다면 좋을 것입니다.

+0

관련 항목 : http://stackoverflow.com/questions/2051036/google-app-engine-application-instance-recycling-and-response-times/2051118#2051118 –

+0

맨 스택 오버플로는 Google에서 빠르게 색인 생성합니다. 이 페이지는 이미 앱 엔진로드 요청에 대한 Google 검색에서 2 위입니다. – Kyle

답변

1

Google 팀이 수정 한 내용이 있으며 10 분마다로드 요청이 발생하므로 훨씬 더 합리적입니다.

+0

그 점을 참고할 수 있습니까? 그 정보의 출처를 찾을 수 없었습니다. 감사! –

0

현재 유휴 기간이 지나면 AppEngine이 응용 프로그램의 자원을 재활용하고 있음을 알 수 있습니다. 부팅 시간이 긴 응용 프로그램의 경우 큰 어려움이 될 수 있습니다. 현재이 문제에 대한 해결책을 모르고 있습니다.

+0

그리고 일부 devs는 사이트를 꽤 자주 핑 (ping) 공격하여 시스템을 공격하려고합니다. 이는 Google이 그와 싸우는 것을 의미합니다. 나는 바운스가 필요하기 전에 20 분 가량 걸렸지 만 지금은 2 분 정도 걸립니다. 게임을 시도한 적이 없어요. –

관련 문제