タグ

2015年5月26日のブックマーク (1件)

  • Djangoでメモリに乗らないサイズのDBを扱うときに気をつける点 - orangain flavor

    はじめに Djangoでメモリに乗らないサイズのデータベースを扱うときに、気をつけるべきポイントをまとめます。メモリを大量に消費していつまで経っても処理が終わらなかったり、OOM Killerに殺されたりといった悲しい結末を回避できたら幸いです。 データ量としては、レコード数が数十万から数百万ぐらいで、サイズにして数GB〜十数GBぐらいのイメージです。インデックスを適切に張るといった、Django特有でないポイントは取り上げません。Djangoのバージョンは1.5系を対象にしています。 バッチ処理のDEBUGに気をつける 症状 DEBUG = Trueの場合、バッチ処理で大量のクエリを発行するとメモリをいつぶすことがあります。 原因 実行したすべてのSQLが記録されるためです。defaultのデータベースを利用している場合は、django.db.connections['default

    Djangoでメモリに乗らないサイズのDBを扱うときに気をつける点 - orangain flavor