为什么扩大会增加延迟?

时间:2012-03-26 06:43:31

标签: java google-app-engine

我们正在扩展GAE Java应用程序的用户数量。我们现在拥有大约三天前活动用户数量的三倍。

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

只是拥有更多用户,会导致每个请求的延迟上升?据推测,在一个设计良好的应用程序中,appengine会扩展实例数量,以便将延迟保持在最低水平。我没有更改任何默认的待处理延迟设置和类似的。

实施appengine应用程序时最常见的设计缺陷会导致延迟随着使用量的增加而增加?

数据存储上的争用?我们存储的数据是每个用户的单独实体组,所以这看起来似乎很低......

2 个答案:

答案 0 :(得分:1)

您需要提供有关您的应用的更多信息,例如写入数据存储区。如果许多客户端写入数据存储区,则在使用单个实体时会产生流量堵塞。

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

答案 1 :(得分:0)

将“threadsafe”设置为“yes”似乎存在延迟问题。您是否可以使用与此处issue

相同的http://code.google.com/p/googleappengine/issues/detail?id=6323

<强>更新 默认情况下,每个Web服务器一次只处理一个请求。如果您将应用程序标记为线程安全,则App Engine可以并行地向每个Web服务器分派多个请求。为此,只需在appengine-web.xml中添加一个true元素,如使用并发请求。

中所述