real = 107ms
cpu = 141ms
api = 388ms
overhead = 1ms
RPC Total: 63ms (388ms api)
Grand Total: 107ms (530ms cpu + api)
我想我理解开销:它给出了写入日志所花费的时间,不包括将日志存储在内存缓存中所花费的时间。
我对其他数字感到困惑:
- real、cpu 和 api 到底是什么意思?
- api 与 RPC 总数有何不同?
- 什么是“总计”?
real = 107ms
cpu = 141ms
api = 388ms
overhead = 1ms
RPC Total: 63ms (388ms api)
Grand Total: 107ms (530ms cpu + api)
我想我理解开销:它给出了写入日志所花费的时间,不包括将日志存储在内存缓存中所花费的时间。
我对其他数字感到困惑:
这是我的理解:
real
是用时钟测量的时间。这是时间过去了。
api
usage 是花费在 RPC 上的时间,例如访问数据存储。这并不是真正的时间,而是按时间衡量的一些计算资源量。
cpu
usage 是执行代码所花费的时间。同样,这不是真正的时间,而是按时间衡量的资源使用情况。
api
不同之处RPC Total
仅在于 RPC 总计显示了在此期间经过的时钟时间量api
。由于并行性,可以在 63 毫秒内完成 388 毫秒的计算。因此,RPC Total
显示了所花费的时钟时间以及资源使用情况。
Grand Total
是总壁时间(与 相同),其中、和real
的总和。在这种情况下,107ms 中使用了 530ms 的配额。cpu
api
overhead
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 以及一般的优化和检测是一个很棒的演讲。大约一个小时。