2011-04-19 2 views
3

CPU %가 낮은 것을 확인하기 위해 무엇을 했습니까? 보려는 샘플 코드는 무엇입니까?GAE CPU 사용량을 줄이는 방법은 무엇입니까?

모든 데이터 저장소 읽기/쿼리가 100 %를 초과하여 CPU %를 밀어 내고 내 대시 보드에서 노란색 & 하이라이트가 표시되기 때문에 묻습니다. 나는 그것이 정상적인 곳에서 읽었지만 분명히 그것에 관해 할 수있는 것이있다.

+0

왜 묻는가? 이것이 당신에게 어떤 영향을 미칩니 까? – Will

+0

? 100 % 무엇? –

답변

7

장기 실행 작업에 대한 자세한 내용을 보려면 appstats을 사용하십시오. CPU 시간이 소비되는 방식을 정확하게 분석하고 개별 호출을 드릴 다운하고 스택을보고 어떤 명령이 오래 실행되는지를 좁힐 수 있습니다.

Urlfetch와 데이터베이스 호출은 비용이 비쌉니다. Sam에서 알 수 있듯이 두 가지 모두 매우 큰 절약을 위해 memcached 일 수 있습니다. 페이지의 경우

appstats w00t

+0

그러나 데이터베이스 호출은 IO이고 CPU는 기다리는 동안 잠든다. – Will

5

코드를 프로파일 링하고 효율성을 향상시킵니다.

3

앱이 다시 시작 되나요?

잠시 동안 비활성 상태 일 때 매우 작은 앱이로드되는 데 걸리는 시간이 1 초 이상 걸리므로 로그에 경고 마커가 표시됩니다.

4

데이터 저장소 작업이 비쌉니다. memcache를 사용하여 사용량을 줄이십시오.

2

당신은 당신이 요청 처리기가 있다면 당신은 캐시 컨트롤을 사용할 수 있습니다 캐시 할 수 있습니다.

self.response.headers["Cache-Control"] = "public,max-age=%s" % 86400 

대부분의 경우 cron 작업을 사용하여 정기적으로 캐시를 업데이트 할 수도 있습니다.

2

데이터 저장소와 함께 저장소 계층으로 로컬 인스턴스와 memcache를 사용하여 데이터 저장소 작업을 줄이기 위해 a simple library으로 작성했습니다. 또한 캐시 된 GQL 결과도 지원합니다. 나는 애플 리케이션의 CPU 사용량을 50 % 줄였다. 민감한 데이터를 사용하지 않는 경우 시도해 볼 수 있습니다.

관련 문제