6

以App Engine 博客文章中的这些统计信息为例:

real = 107ms  
cpu = 141ms  
api = 388ms  
overhead = 1ms

RPC Total: 63ms (388ms api)   
Grand Total: 107ms (530ms cpu + api)

我想我理解开销:它给出了写入日志所花费的时间,不包括将日志存储在内存缓存中所花费的时间。

我对其他数字感到困惑:

  • real、cpu 和 api 到底是什么意思?
  • api 与 RPC 总数有何不同?
  • 什么是“总计”?
4

1 回答 1

8

这是我的理解:

  • real是用时钟测量的时间。这是时间过去了。

  • apiusage 是花费在 RPC 上的时间,例如访问数据存储。这并不是真正的时间,而是按时间衡量的一些计算资源量。

  • cpuusage 是执行代码所花费的时间。同样,这不是真正的时间,而是按时间衡量的资源使用情况。

  • api不同之处RPC Total仅在于 RPC 总计显示了在此期间经过的时钟时间量api。由于并行性,可以在 63 毫秒内完成 388 毫秒的计算。因此,RPC Total显示了所花费的时钟时间以及资源使用情况。

  • Grand Total是总壁时间(与 相同),其中、和real的总和。在这种情况下,107ms 中使用了 530ms 的配额。cpuapioverhead

  • overhead当然,时间“浪费”在等待“真正的”工作完成。这主要包括 AppStats 本身占用的资源。

有关详细信息,请参阅 Guido van Rossum 的文档Appstats: RPC Instrumentation for Google App Engine

Guido van Rossum 在 Google I/O 2010 上发表了名为Appstats - Instrumentation for App Engine的演讲,他简要讨论了这一点。了解 App Engine 以及一般的优化和检测是一个很棒的演讲。大约一个小时。

于 2011-03-07T19:58:19.893 回答