I have moved my app previously described at http://www.rexcel.ca:8888/gems/bbb/load.home to http://gems-bbb.appspot.com/gems/bbb/load.home
Since it is designed to be very responsive I felt I need to understand the spin out/spin in issue and see what immediate band-aid solutions may be available. I did not want to get into running CRON jobs to ping my App because they work against what the google folks are designing. Definitions: The server has 3 modes of running. (1) COLD - after a deploy when the cache is purposefully trashed. Everything is loaded from datastore for the first request (2) WARM - servlet is initialized to service request, classes need to be refreshed but cache can be used to service request (no datastore I/ O) (3) HOT - instance is ready and no datastore I/O is needed to service request. First, despite all the claims that an app should stay in for many minutes my App seems to get SPUN OUT AFTER A MINUTE OR 2. But I can live with that. Here is why, with my timings. My system measures turn around times in 2 places. One, inside the servlet. The second on the HTTP page sending the request. The HTTP page gives the total time. The servlet gives the time from when the request is received to when it leaves. The difference between the 2 is the network time. For a warm start (where the JVM has to be built etc) the increase in network time can be attributed to this extra startup process. Here are the average times that I have discovered. The datastore times are obtained by looking at the logs. All times are in secs. The Network time from my site in Canada consistently averages about . 410 secs. COLD start. Server=7.500 JVM and Datastore 6.500 Total 14.410 WARM Start: Server 1.100 (Mainly cache read) JVM etc=2.800 Total 4.310 HOT Start: Server .001 Total .411 My next optimization will be to warm up the Datastore as a scheduled task just before I finish the WARM request so that the next request that comes in will also have a Warm datastore. My log seems to show that Datanucleus needs between .200 and .500 secs to handle the initialization for each class. As a peer review of these findings you can go to the app at http://gems-bbb.appspot.com/gems/bbb/load.home Clicking on the top-left GEM will send a refresh with a timestamp. When it returns, hovering over the top left GEM will give the timings. When the server time has an * prefix it also includes the initialization time because a warm or cold start has happened. The ggogle folks can also look at the logs. I am interested to know how come I get spun out after only a minute or 2. Steve Pritchard -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.