FreeBSD PostgreSQL バックエンドを使用して Web アプリケーションをセットアップしています。データベースのパフォーマンス最適化ツール/テクニックを探しています。
7 に答える
pgfouineは私にとってかなりうまく機能します。そして、FreeBSDポートがあるようです。
pgtopを少し使用しました。かなり大雑把ですが、少なくとも各プロセスIDに対してどのクエリが実行されているかはわかります。
pgfouineを試しましたが、覚えていればオフラインツールです。
また、psql.logファイルを調整し、問題のあるクエリを確認できるレベルまでログ基準を設定します。
#log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements
# and their durations, > 0 logs only
# statements running at least this time.
また、EMSPostgresManagerを使用して一般的な管理作業を行っています。何もしませんが、ほとんどのタスクが簡単になり、スキーマの確認と設定がより簡単になります。GUIを使用すると、不整合(インデックスの欠落、フィールド基準など)を見つけるのがはるかに簡単になることがわかりました。これは、MacでVMWareを使用して使用する2つのプログラムのうちの1つにすぎません。
Munin は非常にシンプルですが、データベースが時間の経過とともにどのように進化し、パフォーマンスを発揮しているかの傾向を把握するのに効果的です。Munin の標準キットでは、データベースのサイズ、ロック数、接続数、シーケンシャル スキャン、トランザクション ログのサイズ、実行時間の長いクエリなどを監視できます。
セットアップと開始が簡単で、必要に応じて独自のプラグインを非常に簡単に作成できます。
ここで、Munin に同梱されている最新の postgresql プラグインを確認してください。
http://munin-monitoring.org/browser/branches/1.4-stable/plugins/node.d/
まず、「explain」を使用してpsqlからすべてのクエリを試し、インデックスを追加するかクエリを書き換えることでインデックススキャンに変換できるシーケンシャルスキャンがあるかどうかを確認します。
それ以外は、私はあなたと同じようにこの質問への答えに興味があります。
Lightning Admin を確認してください。ログ ステートメントをキャプチャするための GUI があり、完璧ではありませんが、ほとんどのニーズに対応しています。 http://www.amsoftwaredesign.com
DBTuna http://www.dbtuna.com/postgresql_monitor.phpは最近、PostgreSQL 監視のサポートを開始しました。MySQL の監視に広く使用しているため、Postgres にも同じ機能を提供する場合は、あなたにも適しているはずです。