Instances - How do they work?

56 views
Skip to first unread message

WallyDD

unread,
Nov 21, 2011, 1:25:34 PM11/21/11
to Google App Engine
I am little confused with how these instances work.

How long does an instance stay alive?
A site in Python 2.5 (M/S) fires up an instance when it is accessed
and the instance stays alive for minutes after.
With Python 2.7(HRD) the instance is killed off after a matter of
seconds. So I either have to pay and keep the application alive but
then it gets tricky.
And to add insult to injury, if I access a python 2.7 application and
get one page, the instance lasts for a few seconds but I am billed for
15 minutes. If I am billed for 15 minutes please would it be possible
for the instance to stay alive for something close to 15 minutes?

Now if I enable billing (for the cost of $2.10 a week).
I can adjust the sliders under application settings, I have two
settings "Idle instances" and "Pending latency".

Leaving "Idle instances" at Automatic results in instances only
lasting a few seconds. Setting it to 1 results in having a "Resident"
instance and this sort of works. I can use the application a little
but then a second instance fires up and leaves one instance completely
idle. All I want is one instance running. I put "Pending Latency" up
to 500ms to try and stop other instances firing up.

I use the application and so now I have two instances serving, The
resident instance is sitting there doing nothing and I am using
another instance but being billed for both.
So I go an play with the sliders and set idle instances to automatic
and it kills one off (the resident one that was doing nothing). But
then the instances start with their stop start routine and the
application is very unresponsive.

Is there a bug with the instancing or is there something that I really
don't understand here.

WallyDD

unread,
Nov 21, 2011, 10:00:03 PM11/21/11
to Google App Engine

Anand Mistry

unread,
Nov 22, 2011, 6:51:17 PM11/22/11
to google-a...@googlegroups.com
On Monday, 21 November 2011 10:25:34 UTC-8, WallyDD wrote:
I am little confused with how these instances work.

How long does an instance stay alive?
A site in Python 2.5 (M/S) fires up an instance when it is accessed
and the instance stays alive for minutes after.
With Python 2.7(HRD) the instance is killed off after a matter of
seconds. So I either have to pay and keep the application alive but
then it gets tricky.
And to add insult to injury, if I access a python 2.7 application and
get one page, the instance lasts for a few seconds but I am billed for
15 minutes. If I am billed for 15 minutes please would it be possible
for the instance to stay alive for something close to 15 minutes?

For Python 2.7 specifically, we're aware of the short instance life. Please be aware that the Python 2.7 runtime is still experimental and so rough spots like this can happen.

As for billing, remember, you only get charged the 15 minutes once per instance. If that instance goes away and comes back within 15 minutes, you don't get charged again.
 

Now if I enable billing (for the cost of $2.10 a week).
I can adjust the sliders under application settings, I have two
settings "Idle instances" and "Pending latency".

Leaving "Idle instances" at Automatic results in instances only
lasting a few seconds. Setting it to 1 results in having a "Resident"
instance and this sort of works. I can use the application a little
but then a second instance fires up and leaves one instance completely
idle. All I want is one instance running. I put "Pending Latency" up
to 500ms to try and stop other instances firing up.

I believe (I'm not an expert here) the purpose of "Idle Instances" is to absorb extra traffic to help your app scale more smoothly. Once you start using that instance, it's no longer idle so the system spins up another instance.

WallyDD

unread,
Nov 22, 2011, 10:25:44 PM11/22/11
to Google App Engine
Hi Anand,

Thank you for the response.

I am not concerned with being charged for the full 15 minutes for when
instances start and stop (or as you described), what I am concerned
with is the start-up time it takes each time an instance is fired up.
A browsing session while testing looks something like this;
1. Click a link.
2. Wait 3 seconds for an instance to fire up, get to look at a web
page.
3. Study web page for 5 seconds, click on link.
4. Wait 3 seconds for an instance to fire up.
5. Repeat.

In regards to idle instances it appears to me that they are getting
stuck about once a day or so until I manually intervene.
Originally Google App Engine was billed as going to have an always on
feature but now it appears I have two choices;

Choice 1. Pay nothing and get ridiculous latency that makes GAE look
like something that nobody in their right mind would want to use.

Choice 2. Pay $1.60 ($.80 until December 1) a day for a usable testing/
development platform.

For a low traffic site the cheapest anyone can expect to pay is $48 a
month. This is a far cry from the $9 a month always on feature that
was offered all those months ago.

I hope these are just teething errors that are occurring with Python
2.7. As you did point out it is still experimental. I am going to
assume that this will all be fixed sometime soon.

Other than the issues above, I have been pleasantly surprised with how
well Python 2.7 is performing. The amount of traffic a single instance
can take is quite surprising, especially when compared to how GAE was
working with Python 2.5

Brandon Wirtz

unread,
Nov 22, 2011, 11:19:15 PM11/22/11
to google-a...@googlegroups.com
I don't know where your pricing numbers are coming from, we host sites in
the Alexa top 100k for about $12 a month.

I would say that things are slow if you only have one instance, mainly
because 8 requests at a time made by users add up fast. But if you use
static and cache headers this is entirely manageable.

Hi Anand,

--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to
google-appengi...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.


Reply all
Reply to author
Forward
0 new messages