views:

69

answers:

2

Hi,

I am having some issues with an app I have deployed on GAE. Specifically, I am intermittently running into the DeadlineExceededException where the server is not responding within the 30 seconds required.

What is odd is that the code is not overly complex, it should run in milliseconds. My guess is that the delay is in dealing with the persistence manager and accessing the datastore.

2 questions:

1) What is the best way to track where all of the CPU time on the server is being used up? Log files do not seem helpful and to make things more complicated the code runs very fast when I am running it locally

2) Any tips / best practices in dealing with the 30 second exception? What are the biggest drivers of this? Datastore? HTTP requests / responses?

Thanks

A: 

The Google App engine blog covers this exception in the entry about the 1.2.8 release (current release is 1.3.0) of GAE:

Request performance in Java

The new class-loading aptimization option reduces the length of loading requests, which occur when App Engine is preparing a new instance of your code to respond an incoming request:

First, we're introducing a new class-loading optimization in 1.2.8 called precompilation. Precompilation makes loading requests faster by doing class-loading work ahead of time in the App Engine environment.

mjustin