ラベル google-app-engine の投稿を表示しています。 すべての投稿を表示
ラベル google-app-engine の投稿を表示しています。 すべての投稿を表示

2011年11月17日木曜日

Google App Engineでデータを一括で削除する方法

Google App EngineがPreview版を卒業して正式版になったのに伴ない、2011/11/7から価格体系が変わり無料で使えるQuotaが減った。
特に、データ書き込み(Datastore Write Operations)がすぐに制限に達してしまう。

そんなにデータ登録してないけどな?と思って調べてみると、Datastore Write Operationsには登録・更新だけでなく削除も含まれるようだ。
過去データの削除をcronで動かしていたのが全てカウントされている。
そこで、過去データ削除のcronをコメントアウトすると、Datastore Write Operationsが大幅に減った。

残る問題は過去データの削除をどうするか?
調べてみると、Google App Engineの管理画面からDatastore Adminという機能を使えば削除できるらしい。

さっそくDatastore Adminを使ってみる。デフォルトでは無効になっているので、Enabledする。
すると...真っ白な画面が表示された。
調べてみても有効な情報がない。
・
・
・
1日経って気付いた。Googleのマルチアカウントが(例によって)悪さをしている?
いったんSign Outして再ログインしたら無事に表示された。

さっそく削除してみる。Entity Kind(テーブル)ごとの削除になる。(条件を指定して削除できれば完璧なのだが。)
実行すると、Datastore Write Operationsが制限に達して真っ赤になってしまった。Datastore Adminから削除しても、Quotaに含まれるらしい。
仕方ないのでQuotaがリセットされるのを待つ。
・
・
・
リセットされてからしばらく後で見てみると、無事にEntity Kindの削除が終わっていた。Datastore Write OperationsのQuotaの大部分を使ってしまっていたが、明日またリセットされればそれ以降は問題ない。
しばらくこの手でやりくりしてみるか。

2010年5月18日火曜日

Google App Engineと Google Codeからのファイル取得速度の比較

Webブラウザ(Firefox)でファイルを取得する際に、Google App EngineとGoogle Codeのどちらから取得した方が速いかの実験。
12KB程度のJavaScriptファイルで比べてみた。
ついでにDropboxのpublicフォルダからの取得も調べてみた。


計測結果


App EngineGoogle CodeDropbox
gzipありなしあり
サイズ4.2KB12.5KB4.7KB
1回目282ms47ms766ms
2回目219ms31ms1030ms
3回目218ms47ms1030ms
平均240ms42ms942ms

(gzipでもGoogle App EngineとDropboxでサイズが違うのはなぜ?)

gzipなしにも関わらず、Google Codeが速い。キャッシュサーバとかを使ってCDNとして機能しているということか。
App Engineは遠いサーバにあるのかな?それともstaticなファイルとして送り出されるまでの処理に時間がかかっているのか。


また、Google App Engine、Google Codeともにしばらく(1分程度?)誰もアクセスしないとSpin Down的なことが起きるようで、その後の初回アクセス時のレスポンスが遅い。だいたい、Google App Engineは200~600ms程度、Google Codeは200~300ms程度かかるようだ。
(上記の表ではこの「初回アクセス」は含んでいない。)

2010年5月8日土曜日

Webでの静的ファイル取得について Google App Engineと Google Codeを比較

(2010/5/11 修正:Google Codeでもmax-ageが設定可能だったので一部修正。参考:SubversionFAQ - support - Subversion FAQ - Project Hosting on Google Code)


スタティックなファイルのhttp(s)での取得について、Google App EngineとGoogle Codeを比較してみる。


Google App Engine
Google Code
https
可
可
gzip
あり
なし
Etag
あり
あり
Last-Modified
なし
あり
max-age
(Expires)
設定可能
デフォルトは10分
設定可能
デフォルトは1分

Server
Google Frontend
Apache


URLは下記のような感じ。App Engineの方がちょっと短い。
Google App Engine → http://<アプリ名>.appspot.com/<パス>
Google Code → http://<プロジェクト名>.googlecode.com/svn/<パス>


Google App Engineのメリット
gzipで圧縮されるのでトラフィックを減らすことができる。
Google Codeの方はmax-ageはまだいいとしても、Google Codeはgzipされないのが痛い。
主なクライアントがSubversion(等)のクライアントソフトだから仕方ないか。


Google Codeのメリット
そのままSubversion(等)でバージョン管理できる。使い慣れたクライアントソフトで制御できるので使い易い。
Google App Engine Launcherは毎回パスワードを訊かれるのが面倒。


Google App Engineは転送量等に制限があるが、かといってGoogle Codeでもそんなにも使ったらBanされるんだろう。
(参考:floatingdays: Google Codeの JavaScriptファイルを外部サイトから読み込んでも良い?)

それから、Google Codeではその性格上オープンソースとして公開する必要がある。

2010年3月26日金曜日

Windowsに Google App Engine開発環境 + Django 1.1をセットアップする

WindowsにDjango1.1をインストールする方法



Google App EngineでDjango1.1を使う設定
  • "Google AppEngine で Django 1.1 を使う | METAREAL"の通りにすればOK。
  • templateのimportはuse_library()をセットした後でないとエラーになる。
    • 間違えると、AppEngineを再起動するまでエラーが解消されない(?)

2009年5月7日木曜日

Sinatra on Ruby on JRuby on Java on Google App Engine for Java

環境構築メモ。


Sinatraとは?



Google App Engine for JavaでSinatraを動かす


Datastore APIを扱う


所感
  • Sinatraは素敵だが、こんな準備が必要なら素直にPythonで書いた方が楽そうだ

Google App Engine 調査メモ

リファレンス



Tips

ブログ アーカイブ

tags