为什么扩大规模会增加延迟



我们正在扩展GAE java应用程序的用户数量。我们现在的活跃用户是几天前的三倍。

我们注意到,GAE仪表板报告的平均延迟几乎增加了2倍。没有代码更改。

仅仅因为拥有更多的用户,是什么导致每个请求的延迟增加?据推测,在一个设计良好的应用程序中,appengine会扩展实例的数量,从而将我们的延迟保持在最低限度。我没有更改任何默认的挂起延迟设置和类似设置。

在实现appengine应用程序时,最常见的设计缺陷是什么,这些缺陷会导致延迟随着使用量的增加而增加

数据存储上的争用?我们存储的数据在每个用户的独立实体组中,所以这似乎是一个低概率。。。。。

您需要提供有关应用程序的更多信息,例如写入数据存储。如果有许多客户端写入数据存储,那么如果使用单个实体,则会造成流量堵塞。

您需要做的是测量每个零件所需的时间,并比较两个负载之间的结果。

将"threadsafe"设置为"yes"时似乎存在延迟问题。您是否遇到了与此处相同的问题:http://code.google.com/p/googleappengine/issues/detail?id=6323

更新:默认情况下,每个web服务器一次只处理一个请求。如果您将应用程序标记为线程安全,应用程序引擎可能会并行向每个web服务器发送多个请求。要做到这一点,只需在appengine-web.xml中添加一个true元素,如使用并发请求中所述。

最新更新