AppEngine响应时间很慢

时间:2011-06-07 10:57:17

标签: performance google-app-engine

我正在使用TaskCloud示例的修改版本来尝试读取/写入我自己的数据。

在部署版本上进行测试时,我注意到往返响应时间很慢。

在我的Android设备上,我对appspot.com有100毫秒的ping响应。 我已将AppEngine应用程序更改为无效(Google信息中心显示无关紧要的平均延迟。

问题是HttpClient客户端.execute(post)花费的时间大约是3秒。 (这是已加载实例的时间)

任何建议都将不胜感激。

编辑:我观看了Google I / O的视频,其中显示了CloudTasks Android-AppEngine应用,您可以看到刷新列表(单次调用AppEngine)大约需要3秒同样。这家伙正在说一些我没有完全掌握的性能(调试器在两端运行?)

视频:http://www.youtube.com/watch?v=M7SxNNC429U&feature=related 时间地点:0:46:45

我会继续调查...... 感谢您的帮助。

编辑2 :回到这个问题......

我使用了鲨鱼数据包嗅探器来查明发生了什么。有些时间花在为每个服务器调用协商SSL连接上。使用http(和ACSID)比https(和SACSID)更快。

新的DefaultHttpClient()和新的HttpPost()用于每个服务器调用。

编辑3

再次查看嗅探器日志,实际POST之前有近2秒的延迟。

我还发现Android 2.2(所有版本)存在问题,但已通过Android 2.3解决

编辑4 :已经解决了。请参阅下面的答案。

3 个答案:

答案 0 :(得分:1)

由于未提供有关您的应用的详细信息,因此很难回答您的问题。无论如何,您可以尝试使用Google提供的appstats tool来分析瓶颈。

答案 1 :(得分:1)

使用Shark嗅探器后,我能够理解确切的问题,并在this question找到答案。

我使用了Liudvikas Bukys的评论并使用建议的行解决了问题:

post.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false);

答案 2 :(得分:0)

第一次拨打GAE应用程序通常需要比后续通话更长的时间。您应该熟悉加载和预热请求以及GAE如何处理您应用的实例:http://code.google.com/intl/de-DE/appengine/docs/adminconsole/instances.html

你也可以尝试一些事情: