App Engine高CPU警告 - 它真的是一个问题吗?

时间:2011-03-11 11:06:24

标签: google-app-engine cpu-usage

我最近完成了我的应用程序,并从此开始测试。我的一个 主要资源制作了14个RPC,我已尽力减少CPU 时间,即标记属性为无索引,但我真的不能 减少请求中发生的GET,PUT和查询的数量。

今天与请求相关的平均CPU时间为:

ms=381 cpu_ms=1192 api_cpu_ms=1122 cpm_usd=0.033597

这确实波动并且可能更少,但它很少降低 足以让高CPU警告被删除。

我注意到我的应用程序仍然很好,我有大约15个实例 在测试时跑步。

所以我的问题是,我应该关注高CPU警告还是 这是大多数人经历的事情吗?

3 个答案:

答案 0 :(得分:3)

只要您的挂钟时间(这些时间中的第一次)平均小于1000毫秒,您的应用程序将继续自动缩放,无论您的应用使用多少CPU ms。正如systempuntoout所解释的那样,高CPU警告是我们在每个网址限制高CPU请求时的保留,除了作为优化指南之外不再适用。

答案 1 :(得分:2)

如果您的应用程序无法优化但CPU使用率对于您的每日预算而言是合理的,我认为您可以毫无顾虑地忽略此警告。

多年前,特定时间内高CPU请求数的数量有限,警告可用于监控和更正应用程序以保持在特定配额之上;然后删除了该限制并且高CPU警告现在仅用于识别应该检查以进行优化的程序的一部分(如果可能)。

答案 2 :(得分:1)

在实践中,即使我在后台运行许多运行较长的作业[例如,昂贵的mapreduce作业],我也没有遇到过没有足够的实例来处理用户请求的问题。当然,您的预算需要支付您的CPU费用,否则您的应用将无法运行。

但是,我记得在文档中读到如果你的大多数请求需要很长时间,那么app引擎可能不会启动其他实例来处理请求。但是,如果您的大多数请求都能快速得到满足,那么少数长期工作不应该导致任何问题。 (很遗憾,我目前无法找到有关长时间运行请求的具体指导的文章/文档。)