We are sending a query from a GWT client by RPC to the GAE Java server. The response is a fairly complex object tree. The RPC implementations on the server takes 900ms from start to finish. The total HTTP request is taking 4-5 seconds. We have checked that the actual transmission time and ping time is negligible. (An RPC with void resonse takes 300ms and actual transmission time is small.)
I thought maybe the serialization of the response could be taking time but when we call that explicitly on the server using RPC.encodeResponseForSuccess it takes just 50ms.
So we have 3-4 seconds overhead completely unaccounted for and I'm at a loss how to debug that. We even tried sending the serialized RPC response back using a servlet instead of RPC and sure enough the very same response took ~1s instead of 5!
Thanks!