I'm not asking you to prove it to yourself or me, but to Google :)

- Kris

On Monday, October 22, 2012 3:17:44 PM UTC-7, Carl Schroeder wrote:
>
> It is actually pretty easy to prove when a request is going to a cold 
> instance vs a warmed up one. Simply output a log line from a place that is 
> only called during initialization of an instance. Make sure that the warmup 
> handler calls this part of the code, and that the code is only called once 
> per instance. I put mine in the abstraction layer that sits between 
> appengine, and my application code. 
>
> My warmup handler shows this log message. So does any user facing request 
> that causes an instance of my app to be initialized.
>
> Also, I did a search for "This request caused a new process" in the log 
> files. Just today, 27 instance starts. My app can serve its user base off a 
> single instance with excellent response times. (If only I had a way to tell 
> the scheduler to piss off)
>
> For the past hour, I had 3 warmups handled and 4 user facing requests 
> routed to cold instances. I verified that the instances spun up by user 
> facing requests had different IDs than the ones spun up by warmup reqeusts. 
> I have an AWS instance that hits my site once every 60s to attempt to 
> insure that there is always a dynamic instance loaded. I have 1 resident 
> instance configured to "enable" warmups.
>
>
> On Monday, October 22, 2012 2:55:19 PM UTC-7, Kristopher Giesing wrote:
>>
>> Can you post the relevant logs?  Each request is stamped with the ID of 
>> the instance that served it.
>>
>> When I looked into my own logs I found that the request I thought was 
>> cold-served was actually going to a recently warmed instance, but that the 
>> warmup request didn't fully initialize everything so the first request 
>> after warmup was still too long.  But it sounds like you have more and 
>> better data here to prove something is actually broken.
>>
>> - Kris
>>
>> On Monday, October 22, 2012 11:07:11 AM UTC-7, Carl Schroeder wrote:
>>>
>>> I just tested with my Application Settings configured to have 1 Resident 
>>> instance.
>>>
>>> With 1 resident, and 1 idle instance. I hit a page reload. 7 requests 
>>> were served by the instances according to the Instances pane in the App 
>>> Engine Console. The requests were handled in the following manner:
>>> Zero went to the Resident instance. 
>>> 3 new instances were spun up. 2 with warmup requests, 1 with the first 
>>> user request given to a cold start.
>>> 4 then went to the existing idle dynamic instance
>>> 1 of the new instances handled 3 requests, the other 2 only handled 
>>> warmups.
>>>
>>> The VERY first request (the basic HTML of the page) went to a cold 
>>> instance. This happened despite the fact that there was an idle Resident 
>>> instance available AND an idle Dynamic instance available. The user 
>>> experience is staring at the browser for 20 seconds before anything 
>>> happens. That is unacceptable.
>>>
>>> Even with 4 dynamic instances, the scheduler is still spinning up new 
>>> ones with user facing requests. This is bizarre, pathological, diabolical, 
>>> nonsensical behavior. I am running out of adjectives here.
>>>
>>>

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