This is the request that I actually issued, being handled:

2012-07-31 23:08:28.045 /api/game/57002?pretty=true 200 7893ms 11kb 
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.25 (KHTML, 
like Gecko) Version/6.0 Safari/536.25
76.102.149.245 - kris [31/Jul/2012:23:08:28 -0700] "GET 
/api/game/57002?pretty=true HTTP/1.1" 200 11652 - "Mozilla/5.0 (Macintosh; 
Intel Mac OS X 10_7_4) AppleWebKit/536.25 (KHTML, like Gecko) Version/6.0 
Safari/536.25" "titan-game-qa.appspot.com" ms=7893 cpu_ms=3520 api_cpu_ms=0 
cpm_usd=0.099322 instance=00c61b117c77507e2cfe78a0806d0ca80b52720e

These are the *two* preceding warmup requests:

** Dynamic instance warmup **
2012-07-31 23:08:27.475 /_ah/warmup 200 5873ms 0kb
0.1.0.3 - - [31/Jul/2012:23:08:27 -0700] "GET /_ah/warmup HTTP/1.1" 200 60 
- - "1.360723738856412175.titan-game-qa.appspot.com" ms=5873 cpu_ms=2475 
api_cpu_ms=0 cpm_usd=0.068778 loading_request=1 
instance=00c61b117cdaae6145945d99c16aeee7cc0f4ad8

** Resident/idle instance warmup **
2012-07-31 23:07:42.842 /_ah/warmup 200 5045ms 0kb
0.1.0.3 - - [31/Jul/2012:23:07:42 -0700] "GET /_ah/warmup HTTP/1.1" 200 60 
- - "1.360723738856412175.titan-game-qa.appspot.com" ms=5046 cpu_ms=2475 
api_cpu_ms=0 cpm_usd=0.068778 loading_request=1 
instance=00c61b117c77507e2cfe78a0806d0ca80b52720e

This is my point.  The problem is not that a new instance was spawned 
(although I admit that I did not quite understand the desired behavior when 
I first posted this data).  The problem is that the request I issued is not 
satisfied until AFTER the warmup request has been issued and handled by the 
new instance.  The request should FIRST have been handled by the already 
resident instance, AND THEN the new instance should have been spawned.

If I'm misunderstanding something, please clarify, because at the face of 
it this seems to be a smoking gun.

- Kris

On Friday, August 31, 2012 8:37:47 AM UTC-7, Takashi Matsuo (Google) wrote:
>
> On Fri, Aug 31, 2012 at 10:48 AM, Kristopher Giesing 
> <kris.g...@gmail.com<javascript:>
> > wrote:
>
>> I posted a great deal of information in the thread here:
>>
>>
>> https://groups.google.com/forum/?fromgroups=#!topic/google-appengine/rjZhjMEAXUI
>>
>> In that thread I posted logs that showed that the very first request 
>> after setting min instances to 1 will spawn a new instance (in addition to 
>> the instance that the min instances setting created).  The app ID used in 
>> that testing is "titan-game-qa" and the timestamps are in the logs I posted.
>>
>
> As far as I can see, all of the loading requests in the logs are warmup 
> requests(sorry if I misread the logs). This is very likely an expected 
> behavior. If your resident instance get a request, and if the request is 
> CPU intensive, our scheduler needs to spin up a new instance by sending a 
> warmup request in order to keep the number of idle instance. This will help 
> absorbing subsequent traffic, and this behavior is definitely what the 
> resident instances are for.
>  
>
>>
>> At some point I will have enough bandwidth to set up a more specific 
>> test, but I feel I've already posted plenty of information for GAE 
>> engineers to digest.
>>
>
> Yeah, if you can file an issue with that information, that will definitely 
> help. However, please keep in mind the expected behavior I mentioned above, 
> and add your expected behavior in detail(don't say just 'It didn't work') 
> alongside the things you actually observe.
>
> Thanks,
>
> -- Takashi
>  
>
>>
>> - Kris
>>
>> On Monday, August 27, 2012 2:17:47 AM UTC-7, Johan Euphrosine (Google) 
>> wrote:
>>
>>> On Mon, Aug 27, 2012 at 7:17 AM, Kristopher Giesing 
>>> <kris.g...@gmail.com> wrote: 
>>> >> Resident instances are used for processing incoming request if there 
>>> >> is no dynamic instance 
>>> > 
>>> > 
>>> > This is the behavior we all want, but experimentation seems to 
>>> indicate it 
>>> > doesn't happen, at least for some apps. 
>>>
>>> Hi Kristopher, 
>>>
>>> Can you comment with the appid and timestamps of when this last 
>>> happened? 
>>>
>>> Thanks in advance. 
>>>
>>> > 
>>> > - Kris 
>>> > 
>>> > -- 
>>> > 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/-/_**wh1KzpESLEJ<https://groups.google.com/d/msg/google-appengine/-/_wh1KzpESLEJ>.
>>> >  
>>>
>>> > 
>>> > 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<http://groups.google.com/group/google-appengine?hl=en>.
>>> >  
>>>
>>>
>>>
>>>
>>> -- 
>>> Johan Euphrosine (proppy) 
>>> Developer Programs Engineer 
>>> Google Developer Relations 
>>>
>>  -- 
>> 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/-/ubhrxTXYlC4J.
>>
>> To post to this group, send email to 
>> google-a...@googlegroups.com<javascript:>
>> .
>> To unsubscribe from this group, send email to 
>> google-appengi...@googlegroups.com <javascript:>.
>> For more options, visit this group at 
>> http://groups.google.com/group/google-appengine?hl=en.
>>
>
>
>
> -- 
> Takashi Matsuo | Developers Advocate | tma...@google.com <javascript:>
>
>  

-- 
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/-/ZlLeSwRXs7cJ.
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