2011-09-08 55 views
2

我的应用程序目前使用的每天约2小时的CPU时间,但使用超过100个实例小时。这是否意味着每个实例平均只能工作2%?AppEngine实例处理时间与CPU时间

我想优化我的系统以使用尽可能少的实例时间。目标的合理使用百分比是多少?

回答

1

是的,那是你的大致平均CPU利用率。

为减少实例小时数并提高CPU利用率,您可以做的第一件事是并行化代码,尽可能多地同时完成多项工作。像Asynchronous URLFetchAsync Datastore API这样的工具将对此有所帮助。 NDB library尽管仍然是实验性的,但使编写使用RPC并行机制的代码更容易。

确定此类优化的低悬水果的最佳方法是在您的应用上运行App Stats,并检查您花费最多时间等待的RPC,并查​​看在等待时是否可以执行其他操作为他们完成。

您应该预期的利用率取决于您正在做的事情。如果你主要是CPU绑定,你可以获得100%,或者如果你的应用完全是串行的,你可能无法提高2%。

+0

如果你还没有配置您的应用程序处理的并发请求,给一个尝试。 http://code.google.com/appengine/docs/java/config/appconfig.html#Using_Concurrent_Requests –