2012-09-25 3 views
0

1-2 일전에 동일한 코드로 시작 시간이 1-3 초에서 10-30 초로 증가합니다.대폭 증가 시작 시간

저는 파이썬 2.7 멀티 쓰레딩을 사용합니다.

이 요청의 코드는 memcache에서 하나의 값을 읽고이를 사용자에게 반환합니다. memcache가 비어 있으면 로컬 파일 시스템의 템플릿에서 간단한 html 템플릿을 읽고 렌더링합니다. 둘 다 동등한 cpu_ms를 사용합니다.

동일한 코드가 테스트 응용 프로그램에서 잘 작동합니다. 테스트 애플리케이션의 시작 시간은 약 1-2 초입니다.

어제 밤에 생산 문제를 보내지 만 답을받지 못합니다.

인스턴스 유형을 F1에서 F4로, 시작 시간을 F4에서 8-10 초로 변경해보십시오. 내 응용 프로그램의

의 AppID : 문제 이전에 f1f2ru

로그 기록 : enter image description here

로그 기록 현재 :에 enter image description here

로그 기록 시작 문제에 enter image description here

로그 기록 테스트 앱 : enter image description here

답변

0

처음 시작 시간이 증가한 이유를 알지 못합니다. 증가 작업 시간의

문제는 내 실수 : 내 응용 프로그램 쿼리 수행 object.date < datetime.datetime.now()를

내 데이터 저장소 날짜 < datetime.now에 어떤 물체를 (없다) 그러나 date = None (null) 인 객체를 가지고 있습니다. null에 대해서는 잊어 버리고 인덱스 값과 null은 정상입니다. < 모든 값.

1

로그가 없으면 알기가 어렵습니다. 그러나 누가 알겠지만, 아마도 Google은 자원이 부족하고 무료 앱이 가격을 지불하고 있습니다.

https://developers.google.com/appengine/docs/adminconsole/instances#Loading_Requests

현재 내 아주 간단한 애플 리케이션 중 하나에 차가운에서 5 초 시작 시간에 대해 얻을. 그러나 30 초는 긴 시간처럼 보입니다.

https://developers.google.com/appengine/docs/python/config/appconfig#Warmup_Requests

App Engine은 자주 새로운 인스턴스로 응용 프로그램 코드를로드 할 필요가있다. 이는 응용 프로그램을 재배포 할 때,로드 패턴이 현재 인스턴스의 용량을 초과하여 증가한 경우 또는 기본 인프라 또는 물리적 하드웨어의 유지 관리 또는 수리로 인한 경우에 발생합니다.

하거나 지불 :

유휴 인스턴스 슬라이더

https://developers.google.com/appengine/docs/adminconsole/performancesettings?hl=en는 주어진 시간에 최소 및 응용 프로그램을 사용할 수 유휴 인스턴스의 최대 수를 제어합니다.

주 : 유휴 인스턴스의 최소 수를 지정하려면, 유료 앱이 있어야합니다

상단 슬라이더는 유휴 인스턴스의 최소 수를 설정합니다.

평소처럼 서비스를 더 많이 지불하면됩니다.

+0

스크린 샷을 첨부 할 수 없습니다 (stackoverflow에 낮은 평판). 유료 앱입니다. 재배포는 도움이되지 않습니다. 그것은 하나의 응용 프로그램에서만 문제이며, 동일한 코드로 작동하는 테스트 응용 프로그램은 잘 작동하고 작은 시작 시간 (테스트 응용 프로그램은 무료입니다)이 있습니다. 이제는 최소 유휴 인스턴스 = 1을 설정했지만 일시적인 방법입니다. 정말 트래픽이 급격히 증가하지 않아 유휴 인스턴스가 필요하지 않습니다. google admins : appid of app : f1f2ru – Rekby

+0

문제는 첫 번째 요청이 대기 모드에 있지 않으면 항상 "차가운"인스턴스에 도달하고 뜨거워지기 전에 항상 시간 지연이 발생한다는 것입니다. 그래서 당신은 유휴 인스턴스를 "필요로하지"않을 것입니다. 그러나 당신은 이것을 가정하기 위해 "필요"합니다. –

+0

문제를 시작하기 전에 감기 시작은 약 1 초가 걸립니다. 동일한 시작 시간에 동일한 코드 및 설정으로 테스트 응용 프로그램이 있습니다. – Rekby

0

라이브러리의 전후가 동일한 라이브러리입니까?라이브러리를 소스 코드에 추가하면 시작 시간이 늘어날 수 있고 (AppEngine에서로드해야 함) 쉽게 간과되는 것 중 일부는 실제로 너무 부 풀립니다.

+0

예, 모두 같습니다. 문제는 마지막 배포 후 10 일 후에 시작되었습니다. 시작 문제 후 다시 배포하고 동일한 코드를 테스트 응용 프로그램에 배포하십시오. 테스트 애플 리케이션이 잘 작동합니다. 앱은 절대적으로 동일합니다. – Rekby