2012-03-10 9 views
1

私たちはdjango & postgresql setupをec2で実行しています。私たちのアプリケーションは常にバックグラウンドでDBに書き込んでいますが、これはユーザーの操作から始めるものではありません。postgresqlをチューニングする(djangoで高速読み込みする)

問題は、ユーザーがシステムを使用しているときに、約20k個のアイテムをフルテキスト検索で表示する必要があることです。このシナリオのチューニングに関するヒント

+0

私は正常にこのビデオではヒントのいくつかを以下でEC2上のPostgreSQLの性能が向上していますhttp://blip.tv/djangocon/secrets-of-postgresql-performance-5572403けどとしてj_mcnally我々がする必要がある、と言いますあなたが具体的な助言を与えるために最適化しようとしているクエリについてもっと知ってください。 – SingleNegationElimination

+0

スキーマを投稿すると、インデックス/キーを追加するのが最も簡単です。これにより、一般的なフィルタリングフィールドなどのインデックスを作成することを意味します。 –

+0

http://blog.it-agenten.com/2015/04/tuning-django-orm-text-queries/ - 私はいくつかのパフォーマンスチューニングステップを特に書き留めましたブログ記事のDjango + Postgres – Risadinha

答えて

2

20kアイテムはそれほど大きくはありません。 :) EC2上で

を行うための主なものは以下のとおりです。あなたが合理的に余裕ができるよう

  1. は、できるだけ多くのメモリを取得します。 EBSのパフォーマンスはひどく、管理できるだけのキャッシュが必要です。
  2. shared_buffersの設定が正しいことを確認してください。利用可能なRAMの25%が良い出発点です。
  3. 索引を作成する機会を探すために、EXPLAIN ANALYZEで大きな読書を見てください(しかし、実用的な理由なしに索引を作成するのではなく、何も使用されていない場合は高価です)。
  4. EBS構成を変更するオプションがある場合は、8ストライプのソフトRAID構成に移行することを検討してください。
関連する問題