Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google App Engine Loading Requests Happen Very Frequently

I have a Google App Engine app using Java and Spring MVC 3.0. A lot of the time if it goes even 2 minutes without a request, then the next request is a loading request which takes about 12 seconds to respond to and uses about 5 seconds of CPU time. Sometimes it does a loading request even when there was no traffic for only one minute.

Google says once there is a steady flow of traffic to your site then you won't have to worry about it, but even if I had a steady flow, there would probably still be times when I went without traffic for 1 minute.

Is this a normal amount of idle time for the JVM instance to be deactivated?

EDIT: After investigating I found that JDO initialization is the part that takes the most amount of time (~6 seconds). And after I turned component-scan off of spring, and manually specified the controllers, spring setup time went down to 1.5 seconds. If I don't use jdo on a loading request, then loading request response time is a more reasonable ~3 seconds instead of ~12 seconds.

What would be nice is we could serialize the DispatcherServlet to the memcache.

like image 781
Kyle Avatar asked Nov 14 '22 13:11

Kyle


1 Answers

There has been a fix by the Google team, and now loading requests are only happening every 10 minutes or so, which is much more reasonable.

like image 121
Kyle Avatar answered Jan 20 '23 01:01

Kyle