0

Why is AppEngine serving my requests using cold dynamic instances, without a prior warmup?

I have a web app using Spring Security and Spring MVC, so initializing the contexts take a lot of time, about 70s for both. Therefore, I have split the init into two phases, where the warmup request only initializes my application context (security), and the Spring Dispatcher Servlet is init'd on the next request. That keeps the time below the max 60s.

Now, in my production environment, for some reason client requests are not served by any of the two resident (idle) instances, but instead it is served by a new, cold instance. Then this instance needs to initialize security, dispatcher servlet and serve the request, and this is interrupted after 60s.

The minimum pending latency is set to 500ms, and maximum is set to 15s, to avoid serving using cold instances as much as possible, yet this happens without significant load.

  • Very, very awkward, but three days later suddenly this app started spinning normally again. In the meantime, we had deployed the very same version of the webapp to a different app with identical settings in AppEngine, which was running just fine. – sosandstrom Nov 13 '12 at 01:11
  • Of course this behavior started on different paid apps a few days ago. Could it be related to some computing nodes (hardware, physical servers) not being up-to-date? – sosandstrom Nov 22 '12 at 02:39

0 Answers0