嘿。我是App Engine的新手。我创建了一个基于Web的Twitter应用程序,它现在在App Engine上运行,我不断地达到我的CPU超过配额限制。我做了一些分析,我发现每个请求都包含两个urlfetch查询,每个查询最多需要2个CPU秒。那个时间可能花在等待上,所有剩下的代码都在200毫秒内完成(包括使用数据存储区)。配额每天6.5小时,我的每个要求大约需要。 4秒CPU。我在今天早上用完了几个小时的免费配额。
这是怎么回事?我不能让Twitter更快地响应我的API调用,并且我无法缓存结果,因为每个请求都是针对不同的Twitter配置文件。
感谢任何帮助, 谢谢!
答案 0 :(得分:3)
我觉得很困惑的是,在urlfetch中等待远程响应的时间会计入你的CPU配额,因为没有花费CPU时间。
但假设这确实是问题,asynchronous requests可能是您的解决方案。至少,您可以重叠两个urlfetch请求以同时继续。也许你会找到其他的东西,直到回复回来。
答案 1 :(得分:2)
您应该更改应用程序的设计。
而不是针对每个用户请求从App Engine向Twitter发出请求: