【问题标题】:Consecutive XML HTTP Requests seem to block on Google App Engine连续的 XML HTTP 请求似乎在 Google App Engine 上被阻止
【发布时间】:2011-03-02 11:42:41
【问题描述】:

我正在开发 Google App Engine 上的应用程序。大致这就是我所做的: 用户屏幕分为 2 部分(实际上是 3 部分,但暂时不考虑)。左侧部分(这占屏幕的 75%)有一个突出显示一些单词的文档。当单击这些突出显示的单词之一时,右侧部分会显示它的各种含义、示例用法等。其工作方式是单击单词将 XML HTTP 请求发送到服务器,其中示例用法/含义从数据存储中检索。返回并显示此数据。

我的问题:

在我连续点击几个单词后,应用程序似乎“挂起” - 比如说,我快速连续点击 5 个单词,点击第 6 个单词(或之后的任何单词)不会替换关于我右侧面板上的第 5 个单词。

由于某些数据存储列(至少是单值属性)在默认情况下被索引,我猜检索不是这里的瓶颈。可能是请求。

GAE 是否知道此类问题?任何可能的解决方法?

有点像在汤中 - 该应用程序应该在今天上线。需要紧急帮助!

谢谢! :)

【问题讨论】:

  • 这是在生产中,还是在dev_appserver 上? dev_appserver 是单线程的。

标签: google-app-engine


【解决方案1】:

您的浏览器可能仅限于两个同时请求 - 而不是 appengine。如果您在前两个链接有机会返回之前点击了第三个链接,请确保您的应用可以处理返回不应再显示的链接的请求。

如果您达到了 appengine 的限制,您会在服务器日志中看到异常。如果您没有看到这些异常,则可能是客户端问题。

【讨论】:

    【解决方案2】:

    抱歉迟到了(由于某种原因,我收到了迟到一天的回复通知,我们已经设法解决了一些问题)。看起来问题确实出在数据端 - 我们的代码正在执行一些插入操作,但事实证明您不能快速执行太多操作 - 日志报告了事务超时错误.我们无法在日志中更早发现它的原因是我们写了太多信息,而这被埋在了某个地方。

    用户端的点击是从这个表中提取数据。

    不幸的是,GAE 模拟器不会模拟任何超时错误 - 因此,即使我们在部署之前使用相当数量的数据进行了测试,该错误在开发过程中也从未发生过。

    再次感谢您的回复! 再次,对于迟到的回复,我深表歉意。

    【讨论】:

      猜你喜欢
      • 2018-01-28
      • 1970-01-01
      • 2012-11-13
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 2021-01-05
      • 2015-12-17
      • 1970-01-01
      相关资源
      最近更新 更多