Tags » ‘Datastore’

db.Modelに@Propertyを追加

2月 24th, 2011 by

PySNSの日記の投稿日時表記をUTCからJSTに変更しました。日時計算を複数回実装するのはDRYの原則に反するので、Modelにプロパティーを追加し、そのプロパティーの値を表示するように変更しました.... Read more


Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

GAE/Pの管理画面でDataStoreを操作

2月 19th, 2011 by

app.yamlの末尾に以下の2行を追記しておけば、GAEの管理画面でDataStoreのメンテナンス出来ます。 ::CODECOLORER_BLOCK_4:: .... Read more


Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

GAE/P DataStore vs Memcached

2月 18th, 2011 by

昨日のDataStoreの書き込み性能の測定の続きで、DataStoreの読み込みとMemcachedの読み書きの性能を測定した。

比較内容

以下の5項目の測定を行った。100バイトの読み書き50回を1セットとして、10回測定しグラフを作成した。

  • Store/W
    DataStoreへの保存
  • Store/R
    DataStoreから1レコード取得
  • Mem/W
    Memcachedへの保存
  • Mem/R – s
    Memcachedからの読込。データが存在する場合。
  • Mem/R – m
    Memcachedからの読込。データが存在しない場合。

結果グラフ

縦軸は1回当たりの処理時間(単位ms)、横軸は10回分の測定結果。

datastore_vs_memcached

datastore_vs_memcached

結果考察

MemcachedのReadが最も高速で、MemcachedのWrite、DataStoreのRead、DataStoreのWriteと順に遅くなった。平均処理時間と、MemcachedのReadを1とした時の実行時間を表にまとめてみた。

- Store/W Store/R Mem/W Mem/R-s Mem/R-m
時間[ms] 17.94 7.1 2.29 2.12 2.07
Mem/R比 8.68 3.43 1.11 1.02 1

csv2table

この結果から、Memcachedの性能は、DataStoreと比べてReadで3倍程度、Writeで8倍程度高速であることが分かる。Memcachedのキャッシュヒット率が50%を超えるようなサービスであれば、Memcached導入によるパフォーマンスアップが期待できそうだ。

測定用プログラム

測定に用いたプログラムを掲載しておく。

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

GAEのDataStoreは遅い?

2月 17th, 2011 by

GoogleDataStoreは遅いといわれることが多いので、簡単にベンチマークを取ってみた。

測定方法

1000バイトの文字列と、5000倍バイトの文字列を、100回保存するのにかかる時間を測定した。バラつきを見るために、それぞれ10回ずつ計測した。

測定結果

各行は、指定長さの文字列をDataStoreに100個保存する処理の所要時間(秒)です。

1000バイト

1
2
3
4
5
6
7
8
9
10
2.015
2.058
2.050
2.019
2.150
1.720
1.836
1.962
1.923
1.690

5000バイト

1
2
3
4
5
6
7
8
9
10
1.746
1.874
1.727
1.854
1.986
1.827
2.376
1.890
2.383
5.054

まとめ

1000バイトの場合も、5000バイトの場合も、データの保存にかかる時間はほぼ20msである。1個~数個程度のデータを保存する場合は問題にならないが、100件で2秒、1000件で20秒かかってし0まう。CSVのインポート機能などはTaskqueueを使って実装すべきだといえる。

ソースコード

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

掲示板

2月 1st, 2011 by

掲示板をつくってみた。

管理者側で入力した内容が、5秒ごとにユーザ画面に転送されます。

さすがに、メタリフレッシュはかっこ悪いので、AJAXなどで書き換えるように変更しないとなー。

掲示板

掲示板

ソースコード

ソースコードは以下の通り。

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

データストアのページを追加

2月 1st, 2011 by

データストアのページを追加しました。RDBなら簡単にできる操作も、GAE上のDataStoreだと実現が難しい場合もあります。GAEの性能を100%生かすためには、RDB上での考え方をいったん忘れ、G.... Read more


Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Google App Engine 1.4.1リリース

1月 8th, 2011 by

Version 1.4.1が、2011年1月5日にリリースされていました。変更点は以下のとおりです。データストア関連の機能追加と不具合修正が行われているようです。この修正は、Python環境に対して適.... Read more


Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Get Adobe Flash player