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.
