タグ

ブックマーク / orangain.hatenablog.com (2)

  • 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
  • さくらVPSでLXCを使って安価に複数台構成を実現する - orangain flavor

    2013年6月7日 22:04更新: Upstartのデフォルトの設定ファイルを書き換えない方法に変更しました。hitoさんありがとうございます。 lxcなどのバージョンを記載しました。 はじめに Chefを使っていると、役割やサービスごとに環境を分離したくなります。 しかし、個人レベルで大してトラフィックがない段階で、サービスごとに仮想サーバーを借りていてはお金が足りません。 そこで、安価なVPS上でLinux Container (LXC) を使うことで、複数のサーバーを作ります。 スケールしたくなったときは、コンテナを潰して、新しく仮想サーバーを借りてChefで同様の設定をすれば手軽にスケールできると考えています。 Heroku使えば?と言われるかもしれませんが、色々なミドルウェアを利用したり、バックグラウンドで処理をしようとすると、たちまちお金がかかるので、VPSをやりくりして遊び

    さくらVPSでLXCを使って安価に複数台構成を実現する - orangain flavor
  • 1