On Thursday, April 4, 2013 9:54:30 PM UTC-5, aswath wrote:

> Can you tell where is this documented?  
>

Resident instances are purely to absorb a spike in traffic, until dynamics 
can launch and deal with requests. This behavior has been thoroughly and 
repeatedly discussed and commented upon by this mailing list.
 
It can be difficult to understand because it's not immediately obvious 
what's going on. When I do presentations to corporate clients, I use a 
spring as an analogy to resident instances: The spring wants to be "idle", 
i.e. it doesn't want to be compressed. You can compress a spring, but it 
just fights harder and harder and pushes back against you. Once you remove 
the pressure, the spring returns to idle, uncompressed state. Same thing 
with resident instances: you can push a spike of traffic towards them, and 
they'll handle it, but the scheduler is going to launch off more and more 
dynamic instances to handle the inflow of traffic; the scheduler wants the 
resident instances to "spring back/uncompress" and be idle. (This 
explanation goes over great with my clients, since many of them hold 
engineering/science degrees of some sort and love the in-real-life example. 
Bonus points if I actually hand out free springs for them to toy around 
with while I carry out my presentation!)
 
Here's some links, one from the official documentation and two answers from 
StackOverflow. You can search this group's archives for more.
 
https://developers.google.com/appengine/docs/adminconsole/performancesettings#scheduler
*Excerpt:* *Under regular conditions, [the scheduler] may spin up new idle 
instances to absorb traffic and minimize latency in the event of a sudden 
load spike* (idle instances is a synonym for resident instances)
 
http://stackoverflow.com/a/14770848 
*Excerpt:* *resident instances are for times when no other instances (f. e. 
dynamic) are available (busy, no one started). They are the buffer between 
full utilization and new (dynamic) instances available. *
 
http://stackoverflow.com/a/14333059
*Excerpt:* *Idle instances are "reserve" instances so that when increase in 
traffic happens they are immediately available.. So you need to have a 
large number of idle instances only if you expect large traffic spikes, but 
only if you want to keep the same latency.*

On Thursday, April 4, 2013 9:54:30 PM UTC-5, aswath wrote:
>
> The view logs link in the instances screen does not show logs or is 
> broken.  Hence, you cannot find out which instance served the traffic.
>
>
You're looking at the wrong screen. Go to your application's dashboard, 
click on Logs in the left menu, and expand the individual log records by 
clicking the + button. Here's an image to illustrate what the request looks 
like (the red arrows point to the instance ID):  
http://i.imgur.com/zve28uH.png

  On Thursday, April 4, 2013 9:54:30 PM UTC-5, aswath wrote:

> Whey should the resident instance be idle, and the traffic served by 
> dynamic instance, with resident instance being idle.  
> What is the use of the pending latency setting in the Application Settings.
>

That is incorrect. The resident instances are not sitting idle, they are 
doing their job of absorbing traffic spikes. If the app gets hit by a 
traffic spike, the residents will pop into action and take the traffic 
while the scheduler starts loading in dynamics.
 
Now obviously, that is what is supposed to happen in an ideal world. In 
real life, it doesn't always work that way. There are times when residents 
are idle and dynamics have to handle the traffic and requests are delayed 
due to that. Here's one issue that deals with that: 
https://code.google.com/p/googleappengine/issues/detail?id=7865 You just 
have to tune your app and play around with the settings and sliders in 
application settings.


On Friday, April 5, 2013 9:35:46 AM UTC-5, Cesium wrote:
>
> A week or two from now, without warning, this scheduler behavior will 
> change. Weeks later it will change again, and on it goes.
>
>>  
 +1 & Star, full agreement, etc.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to