I'm using strictly built-in stuff.  Also, my apps are not that big, so  
I suspect they decompress pretty quickly.

On Sep 21, 2009, at 12:13 PM, pdub wrote:

>
> Thanks Josh, I actually did have a cron job running in App Engine
> itself.  I tried running an external job because I wasn't sure whether
> or not external and internal requests are routed differently.
>
> Are you running a custom app framework like Django or are you mostly
> sticking to stuff built into App Engine?
>
> I may have to consider going with Django 0.96 which apparently is
> built into AppEngine, but I'm not really looking forward to such a
> migration.
>
> Cheers,
> Percy
>
> On Sep 21, 11:04 am, Joshua Smith <[email protected]> wrote:
>> How about creating a cron job in the application itself and pinging
>> more frequently?
>>
>> I have a statistics-collection cron in one of my apps that runs  
>> once a
>> minute.  So I suppose I'm doing exactly what you describe, and I
>> certainly do not see much of any variation in response times.
>>
>> Of course, I can see why google would find this kind of thing pretty
>> annoying, since it could undermine their ability to use their  
>> hardware
>> efficiently!
>>
>> -Joshua
>>
>> On Sep 21, 2009, at 11:51 AM, pdub wrote:
>>
>>
>>
>>> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to