Google app engine 可持续的每秒查询[QPS],不会导致超时错误

Google app engine 可持续的每秒查询[QPS],不会导致超时错误,google-app-engine,timeout,google-cloud-datastore,contention,Google App Engine,Timeout,Google Cloud Datastore,Contention,您知道在不引起写争用的情况下,单个实体上哪种更新速率最安全吗? 阅读有关切分的文档时,它清楚地说: 重要的是要注意,您可以 只希望更新任何单个 关于5的实体或实体组 每秒几次。这是一个估计 以及 实体依赖于多个 实体的属性,包括 它有多少财产,有多大 是的,需要多少索引 更新 我甚至每秒更新一次,回答中的一条评论让我感到困惑: 您仍然可以在上获得写入争用 单个实体,如果您正在执行 超过大约1QPS的修改 对他们来说 我错过什么了吗? 如果我甚至不能每秒更新一个实体而不引起超时错误,我的GAE应用

您知道在不引起写争用的情况下,单个实体上哪种更新速率最安全吗?
阅读有关切分的文档时,它清楚地说:

重要的是要注意,您可以 只希望更新任何单个 关于5的实体或实体组 每秒几次。这是一个估计 以及 实体依赖于多个 实体的属性,包括 它有多少财产,有多大 是的,需要多少索引 更新

我甚至每秒更新一次,回答中的一条评论让我感到困惑:

您仍然可以在上获得写入争用 单个实体,如果您正在执行 超过大约1QPS的修改 对他们来说

我错过什么了吗?

如果我甚至不能每秒更新一个实体而不引起超时错误,我的GAE应用程序如何扩展?

之所以会出现差异,是因为这不是一个硬限制。如果您对实体组进行1qps的更新,您可能根本不会注意到超时或延迟的任何显著增加。如果您执行5次QPS,您可能会看到超时率增加,并且延迟明显增加。除此之外,争用问题将变得更糟


一般来说,我认为1QP是构建的设计目标,为峰值提供合理的误差幅度。

我不知道每秒5次更新还是每秒1次更新是安全的数字。但在任何一种情况下,该比率都是针对一个实体,而不是整个应用程序。所以你们的应用程序仍然可以很好地扩展——你们可以每秒更新一百个不同的实体,为一百个不同的用户服务。AppEngine专注于服务web应用程序,这些应用程序通常需要水平扩展,而不是垂直扩展。@Peter fair,我仍然不知道如何才能获得每秒更新实体1次的超时。如果您在这里没有得到答案,您可以尝试在下一次IRC聊天时询问。1QPS数字是否来自引用新的高复制数据存储的文章?在这个系统上写东西应该要花更长的时间。谢谢,我认为你(谷歌)应该把那篇分片文章更新为更正确的1QPS。正如在另一个问题中所说的,我已经调整了任务队列的速率,将单个实体更新为每秒1个任务;我仍然收到一些超时错误。即使实体每秒仅更新1次,实体上的大量读取是否会增加超时的可能性?读取不会增加超时;不过,在任何级别的写入中都会出现少量超时。您看到的写操作超时的百分比是多少?在任何级别的写操作中都会出现一些较低的超时,这可以解释一切。我每天都会有1到5次超时,但是写入次数超过2000次,所以这只是一个很小的百分比。我只是认为,将更新速度降低到每秒1个任务可以使日志保持干净;谢谢你的澄清。