2013-08-22 145 views
5

我一直在使用像cloud sql,calender api,郵件API和數據存儲等服務的GAE上的java應用程序。所以我的問題是我需要爲訪問我的應用程序的用戶計量這些服務的使用情況。這將基於他們在雲端sql上做了多少I/O或他們存儲了多少數據。有沒有辦法做到這一點?在Google App Engine服務上測量

回答

1

沒有內建的方法來衡量每個用戶的配額。您可能能夠避開跟蹤每個用戶對這些資源的訪問並將它們存儲在數據存儲中,儘管這會提高使用率。每次使用需要2次寫入,如果是索引,則需要4次寫入。

如果您不需要精確計量,並且在Google資源不足時計量數據丟失,那麼您可以將其作爲用戶名/ id->計量數據存儲在memcache中。它是在盡力而爲的基礎上提供的,如果與您自己的應用程序完整性限制相結合,並且無需向用戶開具帳單,那麼該服務就足夠了。

兩者可以最佳地一起使用。每隔幾分鐘到一個小時,將memcached使用情況詳細信息寫入數據存儲區,如果數據從memcache中丟失(除非您購買專用的memcache),從數據存儲區恢復(可能會估計過去丟失時間段的使用情況)。

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.

這裏有一些參考: http://googleappengine.blogspot.in/2009/08/new-features-in-124.html https://developers.google.com/appengine/docs/java/#Java_Responses

+0

「應用程序引擎將包括一對額外的頭所有發送給你的HTTP響應。「只有在通過應用管理員帳戶向Google和您的應用驗證身份時, – hexafraction

+0

是的。但在這裏,我沒有通過他的Google帳戶或谷歌誓言對用戶進行身份驗證。 –

相關問題