I have a Python-based application deployed on the App Engine. The application framework (Django App Engine Patch) is a little bit heavyweight, so it takes some time to start up and load all the necessary modules, but once it's loaded it's quite fast. From my logs, it looks like the application is having to start up fairly frequently, which causes very inconsistent response times depending on whether or not it's loading again. To my knowledge, this can be due to two reasons:
1. The request is being handled by a new processing node on which the application hasn't been loaded yet 2. The application had been loaded on this node, but it has been so long since the last request that it has been unloaded in the meantime To try to resolve point 2, I created a cron job on an external server that "pings" the home page of my app every 10 seconds or so, and this has helped somewhat. However, my logs show that the application still has to start up on about half of these ping requests. To improve my process for keeping my application warm, it would help if I understood: A. How are requests routed in appengine (round-robin, some stickiness, etc.)? B. How long can I typically expect my application to stay loaded in memory? This would help me figure out whether my approach is even viable (i.e. won't work for round-robin over large cluster) and what to set my ping interval at. Does anyone have any documentation/insights into either of these points and/or suggestions for alternate approaches to achieving more consistent response times? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
