2011-11-08 9 views
7

Google App Engineの新しい価格体系では、以下のような驚きの価格表が表示されます。データストアの読み取り操作を減らす

enter image description here

犯人がするDownloadServletがちょうど読みます私のDownloadServlet

に50未満の呼び出しが唯一ありますが、私は巨大な、ほんの数時間以内に、「データストア読む操作」で増加します、ですblob(通常は1 MB未満)をデータベースから取り出し、ユーザーに返します。コードを最適化するために何かできることがあるので、無料のクォータ制限をあまり速く打つことはありません。

+0

データストア内のデータをblobとして格納する代わりに、blobstoreを使用するように切り替える必要があります。 –

+0

コードを見なければ、助けが不可能です。しかし、予算を増やすだけでは割当量は増えないのですか? –

+0

@NickJohnsonコードが公開されています。リンクされた指示を "DownloadServlet"で見てください。 –

答えて

9

ファイルをデータストアの1MBチャンクに分割したため、多くの読み込みが行われています。その結果、チャンクごとに1つの読み込みを実行する必要があります。また、キー名やIDを使用していないため、それぞれのクエリを実行しているため、さらに容量が使い果たされます。

代わりにデータをブロブストアに保存してください。

3

データストアから読み取ったデータが比較的静的な場合(ブログエントリのテキストなど)は、memcacheのデータをキャッシュすることを検討できます。

memcacheにデータが残っている可能性は保証されないため、memcacheのデータが無効になってもデータストアからのデータを定期的に再フェッチする必要がありますが、かなり相当なものになるだろう。

+0

あまり助けにならないでしょう。データは個々のユーザー専用です。 50人以下のユーザーでは、請求が開始されます。 –

関連する問題