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.
