Hi all,
I made a very simple performance test to find out, why my scripts
reach the 1000 megacycle per request.
1.) With template:
<---- Schnip
import os
from google.appengine.ext import webapp
from google.appengine.ext import db
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import run_wsgi_app
class User(db.Model):
name = db.StringProperty(required=True)
password = db.StringProperty(required=True)
class MainHandler(webapp.RequestHandler):
def get(self):
new = User(
name="Mandy",
password="MM"
)
new.put()
template_values = {
'query' : db.GqlQuery("SELECT * FROM User ORDER BY __key__ DESC
LIMIT 10")
}
path = os.path.join(os.path.dirname(__file__), 'test2.html')
self.response.out.write(template.render(path, template_values))
def main():
run_wsgi_app(webapp.WSGIApplication(
[
('/test/', MainHandler)
])
)
if __name__ == '__main__':
main()
Schnap ---->
The script uses a very simple template with html header (2 metatags
und title) and an empty body. A test with 1000 requests, every 4
seconds one, shows 1250 avg megacycles per request.
2.) Without template
<---- Schnip
from google.appengine.ext import webapp
from google.appengine.ext import db
from google.appengine.ext.webapp.util import run_wsgi_app
class User(db.Model):
name = db.StringProperty(required=True)
password = db.StringProperty(required=True)
class MainHandler(webapp.RequestHandler):
def get(self):
new = User(
name="Mandy",
password="MM"
)
new.put()
results = db.GqlQuery("SELECT * FROM User ORDER BY __key__ DESC
LIMIT 10"
self.response.out.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">')
self.response.out.write('<html xmlns="http://www.w3.org/1999/
xhtml" lang="de" xml:lang="de">')
self.response.out.write('<head>')
self.response.out.write('<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8" />')
self.response.out.write('<link href="/stylesheets/main.css"
rel="stylesheet" type="text/css" />')
self.response.out.write('<title>TEST2</title>')
self.response.out.write('</head>')
self.response.out.write('<body>')
for result in results:
self.response.out.write ('Name:'+ result.name + '<br>')
self.response.out.write ('Password:' + result.password +
'<br>')
self.response.out.write ('ID:' + str(result.key().id()) +
'<br>')
self.response.out.write('</body>')
self.response.out.write('</html>')
def main():
run_wsgi_app(webapp.WSGIApplication(
[
('/test2/', MainHandler)
])
)
if __name__ == '__main__':
main()
Schnap ----->
A test with 1000 requests, every 4 seconds one, shows 1240 avg
megacycles per request.
3.) With DB-Query (NO GQL) + templates
<--- Schnip
import os
from google.appengine.ext import webapp
from google.appengine.ext import db
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import run_wsgi_app
class User(db.Model):
name = db.StringProperty(required=True)
password = db.StringProperty(required=True)
class MainHandler(webapp.RequestHandler):
def get(self):
new = User(
name="Mandy",
password="MM"
)
new.put()
query = User.all()
results = query.fetch(limit=10)
template_values = {
'query' : results
}
path = os.path.join(os.path.dirname(__file__), 'test2.html')
self.response.out.write(template.render(path, template_values))
def main():
run_wsgi_app(webapp.WSGIApplication(
[
('/test/', MainHandler)
])
)
if __name__ == '__main__':
main()
Schnap ----->
A test with 1000 requests, every 4 seconds one, shows 1252 avg
megacycles per request.
Question:
I'm a really Python and Google App Engine newbie and I tryed a lot
different scripts. But every script which puts something to the
datastore and reads some information from the datastore exceeds the
1000 megacycle per request. Has somebody some tipps or ideas?
Thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---