On Monday, July 16, 2012 3:04:10 AM UTC+2, Takashi Matsuo (Google) wrote:
>
>
> I would say, the best bet is to set an appropriate number of min idle 
> instances.
>

But Tom seems to think that "1" is an appropriate number for his app. Why 
offer that option if it's automatically wrong?

> The resident instance handles almost no requests (only 3 so far). If a
> > dynamic instance needs to be started, couldn't the scheduler send at
> > least some requests to the idle instance while calling /_ah/warmup on
> > the spawning dynamic one?
>
> No at lease for now, because the scheduler can not tell beforehand how 
> long the warmup request will take, and even whether the warmup request will 
> succeed or not, thus those subsequent requests will see the significant, 
> un-predictable pending time and probably elevated error rate in some cases.
>

I don't get this, yet.  A request is coming in.  App Engine knows there is 
an idle instance with the exact purpose of "absorbing traffic", and a 
request would obviously count as "traffic".  If we don't know how long the 
warmup request would take, surely that applies to the user request as well? 
So which is worse - fulfilling the user request with an instance we know 
will work while handling the vagaries of the warmup out-of-band, or 
shooting the customer request directly at said vague warmup process, 
leaving a pristine idle instance to handle other traffic that we aren't 
guaranteed might come?

Maybe the definition of "idle" shouldn't be as binary as it is.  An 
instance that is doing 10% of it's potential is pretty close to idle. I'd 
rather only warm up a new instance when the first one hits, e.g. 70%, 
rather than always paying for a just-in-case instance and thereby 
guaranteeing that I'm paying too much. Having said that, I have no 
experience with hugely spiky traffic so maybe others know why this idea 
sucks. But for users who measure their instance count at less than 10, 
surely this would work better?

Also, surely each time a warmup is performed App Engine could just add the 
startup time to its knowledge? "This app starts within X seconds 90% of the 
time."

--
Richard 

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/iKK_n1yAX8EJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to