测量Google App Engine服务

时间:2013-08-22 07:28:04

标签: java google-app-engine google-cloud-sql

我一直致力于GAE上的Java应用程序,它使用云sql,日历api,邮件API和数据存储等服务。所以我的问题是我需要为访问我的应用程序的用户计量这些服务的使用情况。这将基于他们在云sql上执行的I / O数量或存储的数据量。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

没有内置的方法来计量每个用户的配额。您可能能够跟踪每个用户对这些资源的访问并将其存储在数据存储中,尽管这会增加使用率。每次使用都需要2次写入,如果已编入索引则需要4次。

如果您不需要精确测量,并且在Google的资源不足时计量数据丢失,则可以将其存储在memcache中作为用户名/ id->计量数据。它是在尽力而为的基础上提供的,如果与您自己的每个应用程序的理智限制相关联,并且不需要向用户收费。

这两者可以最佳地一起使用。每隔几分钟到一个小时,将memcached使用情况详细信息写入数据存储区,如果数据从内存缓存中丢失(除非您购买专用内存缓存),请从​​数据存储区恢复(可能估计过去丢失时段的使用情况)。

答案 1 :(得分:1)

目前无法计量每项服务的使用情况。但这可能会帮助你获得成本和每个请求的CPU使用率。

App Engine将在其发送给您的所有HTTP响应中包含几个额外的标头。这是有助于计量资源使用情况的HTTP标头。估计-CPM-US-美元:

X-AppEngine-Resource-Usage: ms=293 cpu_ms=500 api_cpu_ms=236 
X-AppEngine-Estimated-CPM-US-Dollars: $0.012320

以下是一些参考: http://googleappengine.blogspot.in/2009/08/new-features-in-124.html https://developers.google.com/appengine/docs/java/#Java_Responses