2013-08-22 17 views
5

私は、クラウドSQL、カレンダーAPI、メールAPI、データストアなどのサービスを使用するGAEのJavaアプリケーションを開発しています。だから私の質問は、私は自分のアプリケーションにアクセスするユーザーのためのこれらのサービスの使用量を測定する必要があるということです。これは、クラウドSQL上で実行するI/Oの数や格納されているデータの量に基づいて行われます。それを行う方法はありますか?Google App Engineサービスのメータリング

答えて

1

ユーザーあたりのクォータを測定する組み込み方法はありません。これらのリソースへの各ユーザーのアクセスを追跡してデータストアに格納することで、使用量を増やすことができます。それぞれの用途には2つの書き込みが必要で、索引付けされている場合は4つの書き込みが必要です。

正確な測定が不要で、Googleのリソースが不足していると測定データが失われても問題ない場合は、memcacheにusername/id-> meteringデータとして保存できます。ベストエフォート型で提供されています。これは、アプリごとのサニタリー制限に結びついていて、ユーザーに請求する必要がない場合は十分である必要があります。

2つを最適に併用することができます。数分から1時間おきにmemcachedの使用方法の詳細をデータストアに書き出し、memcacheからデータが失われた場合(専用memcacheを購入しない限り)、データストアからリストアします。

1

現在、各サービスの使用状況を測定する方法はありません。これは各要求のCPU使用量を&にするのに役立ちます。

App Engineには、送信するすべてのHTTP応答に2つの余分なヘッダーが含まれます。ここではメーターに役立つ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

「App Engineはで余分なヘッダのカップルが含まれますあなたに送信するすべてのHTTP応答」アプリ管理者アカウントでGoogleとあなたのアプリに認証された場合にのみ、 – hexafraction

+0

正しい。しかし、ここでは自分のGoogleアカウントやGoogle宣誓でユーザーを認証していません。 –