Google app engineでの課金の抑え方

Googleappengineのpythonで一番無料枠を超えやすいリソースは、ndbのデータストア読み取り操作。読み取りは5万回まで無料で、それを超えると10万回当たり0.06ドルかかる。ただしキーの取り出しだけの操作は無料。

無料枠の5万回は、思ったより少ない。大きなデータを扱うとすぐに無料枠を使いきってしまう。そこで、いろいろ工夫してデータの読み取り回数を減らすようにした。

一番効果があったのは、ソートなどをすることがないデータを、一個づつデータベースに入れずに、すべてをまとめてリスト化や辞書にして1つの場所に入れ直した方法。1個ずつデータを入れておいて10万件取り出すと、それだけで無料枠をオーバーするけれど、まとめて入れておけば読み取り回数は1回ですむ。

ndbへ入れるときは、pickleを使いリストなどをシリアライズして入れ、取り出すときは逆に戻してあげてデータを利用する。

以前は無料枠を超えていたものが、これで無料枠内で余裕で収まるようになった。

コメントを残す