현재 약 30 개의 엔티티가 들어있는 종류가 MyUsers(db.Model)
인 데이터 스토어가 있습니다. 다음 코드 사용 '(#'문자에 의해 구분) 화면에 "name"속성 '모든 엔티티를 출력하는 스크립트를 작성했습니다 : 스크립트는 잘 작동기본 소프트 키 메모리 제한 초과
def get(self):
q_1 = MyUsers.all().order('name')
for user in q_1:
self.response.out.write(user.name)
self.response.out.write("#")
을하지만, 문제를 1 개 요청
총 서비스 후 220.043 MB와12-12 오전 12시 45분 22.691
초과 부드러운 메모리 제한 : 난 항상 애플 리케이션 엔진 로그에 중요한 메시지를 얻을 수 있다는 것입니다
나는 12:45 AM 22.691
이 요청 12-12 에 새로운 프로세스가 응용 프로그램에 대한 시작 발생하고, 따라서 에 응용 프로그램 코드가 처음으로로드 할 수 일으켰습니다. 따라서이 요청은 응용 프로그램 의 일반적인 요청보다 더 많은 CPU를 사용하고 더 많은 CPU를 사용할 수 있습니다. 12-12 오전 12시 45분 22.691
W는이 요청을 처리 한 후,이 요청을 처리 한 프로세스 가 너무 많은 메모리를 사용하는 것으로하고 종료시켰다. 이것은 일 가능성이 높으므로 응용 프로그램에 다음 요청을 요청할 때 새 프로세스가 사용됩니다. 이 메시지가 자주 표시되면 응용 프로그램에서 메모리 누수가있을 수 있습니다.
메모리 제한을 초과해서는 안되는 매우 간단한 작업 인 것처럼 보이므로 어떻게 개선 할 수 있습니까?
감사합니다,
조엘
편집 :
from models.model import *
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
import profiler.appengine.request
import profiler.appengine.datastore
내가 시도하고 이해하는 프로파일 러를 사용 :
수입에 관해서는, 내가 사용하는 수입은
무엇이 잘못 되었나요? 아마도 도움을 줄 수 있습니다.감사!
조엘
편집 2
이 코드 (필자는 프로파일 러를 수입하기 전에 문제가 내가 시도 일어난 후 사용 및 디버그, 또한 발생)의 전체 버전입니다 다음 MyUsers에 관해서는
from models.model import MyUsers
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
import profiler.appengine.request
import profiler.appengine.datastore
class PrintAll(webapp.RequestHandler):
def get(self):
q_1 = MyUsers.all().order('name')
for user in q_1:
self.response.out.write(user.name)
self.response.out.write("#")
application = webapp.WSGIApplication(
[('/print', PrintAll)
],
debug=True)
def main():
profiler.appengine.request.activate()
profiler.appengine.datastore.activate()
run_wsgi_app(application)
profiler.appengine.request.show_summary()
profiler.appengine.datastore.show_summary()
profiler.appengine.datastore.dump_requests() # optional
if __name__ == "__main__":
main()
() 모델 클래스 :
class MyUsers(db.Model):
user = db.UserProperty()
points = db.FloatProperty()
bonus = db.FloatProperty(default=0.0)
joindate = db.DateTimeProperty(auto_now_add=True)
lastEntry=db.DateTimeProperty(auto_now_add=True)
name=db.StringProperty()
last_name = db.StringProperty()
homepage = db.StringProperty()
hobbies = db.ListProperty(str)
other = db.StringProperty()
calculate1 = db.FloatProperty()
calculate2 = db.FloatProperty()
calculate3= db.IntegerProperty(default=0)
history = db.ListProperty(str)
history2 = db.ListProperty(str)
title = db.IntegerProperty(default=0)
title_string = db.StringProperty()
updateDate = db.DateTimeProperty(auto_now_add=True)
level=db.IntegerProperty(default=0)
debug_helper=db.IntegerProperty(default=0)
debug_list=db.ListProperty(str)
설정에 대한 자세한 정보를 제공해 주실 수 있습니까? 아마 모델 defs, 당신의 수입 등 .... –
첨부 된 프로파일 러 결과를 참조하십시오 – Joel