Hi Tammo,

} there is a startup fee of 15 minutes for each instance.

This only affects the computation of the total-instances variable
in the formula, it does not affect the computation of
active-instances.

} - If I understand your calculation correctly, by setting max-idle-
} instances to 1 I can basically pay the startup fee for one instance
} only, right?

Pretty much.

} Is it guaranteed that instances die after being idle for 15 minutes?

They will usually die before 15 minutes [see other response], but
it is possible they may live past 15 minutes of idleness. But
past 15 minutes of idleness, they are completely ignored by the
billing system.

} - What's the sense of being able to set max-idle-instances then, if
} they die anyway?

Death is based on units of time, but max-idle-instances is
expressed in units of instances. They achieve different things.

} Nothing would change by setting the value higher
} (except for the hours billed).

The max-idle-instances setting has two effects. The first is a
hint to the scheduler to kill off excess idle instances [it does
this now, but approximately], and the second is how it is used in
the billing formula.

So, if you had an app with hundreds of instances, and set
max-idle-instances to 1, it would actually kill off hundreds of
idle instances, leaving you just with enough instances to cover
your active load. This can be problematic as your app receives
more traffic, because there is no spare capacity, so you must do
a lot of loading requests, and you will likely serve errors for a
few minutes. Essentially, you would have no slack, so your
serving latencies and error rates would contain more fragility in
the face of changes in traffic patterns. So, it saves money but
if used to excess can really hurt performance. This is ultimately
why we've made it a sliding scale that the developer can choose,
because the only way to truly set this parameter correctly is to
know how relatively important are cost and reliability.


On Tue, Sep 6, 2011 at 8:48 AM, Tammo Freese <[email protected]> wrote:
> Hi Jon,
>
> thanks for your clarification! I like the "Phew" scenario a lot. :)
> Could you please clarify the following points:
>
>
> 1) My scenario included the 4 instances to be fired up be the traffic
> spike. As I understand 
> http://code.google.com/appengine/kb/postpreviewpricing.html#time_granularity_instance_pricing
> there is a startup fee of 15 minutes for each instance.
>
> - Is that startup fee covered by the instance idling for 15 minutes
> before dying?
> - If I understand your calculation correctly, by setting max-idle-
> instances to 1 I can basically pay the startup fee for one instance
> only, right?
>
>
> 2) For the time period [20, inf] you wrote that total instances is 0.
> Is it guaranteed that instances die after being idle for 15 minutes?
>
> If yes:
> - Then the example of the FAQ would be misleading, because it mentions
> an instance that "stops and then starts", and "serving traffic for 5
> min, is then down for 4 minutes and then serving traffic for 3 more
> minutes" – the instance would not stop or start or be down, but just
> be idle.
> - What's the sense of being able to set max-idle-instances then, if
> they die anyway? Nothing would change by setting the value higher
> (except for the hours billed).
>
> If no:
> - How can we prevent the scheduler from leaving an idle instance
> around for the whole day? Because we can't set max-idle-instances to
> 0, we would have to pay for that.
>
> Tammo
>
> --
> 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.
>
>

-- 
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